home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / comm / comm2 / hdrbb112.lha / HBBS / Changes.TXT
Text File  |  1996-11-19  |  94KB  |  3,328 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                    __________________________________________
  9.                   /                                          \
  10.                  /                                            \
  11.                 :  PLEASE READ ALL OF THIS FILE.  IT CONTAINS  :
  12.                 :    IMPORTANT INFORMATION ABOUT USING HBBS    :
  13.                  \                                            /
  14.                   \__________________________________________/
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21. Changes
  22. =======
  23.  
  24. This file details everything I do to hbbs in a coding session starting with
  25. the newest first (so you don't have to scroll to the bottom of the file!)
  26.  
  27. I've noted which versions were alpha releases next to the date, so you can see
  28. just how much work I am doing between releases..
  29.  
  30. Where possible I've detailed the changes under a heading of the program's
  31. filename where code changes have been made,  other changes to the general
  32. setup will just appear under the date.
  33.  
  34. 19-NOV-1996 - Update Pack #2 for A11 uploaded to Aminet
  35. =======================================================
  36.  
  37.   Oops, sorry this update is a day late!!
  38.   I had to go looking for a new flat to live in..
  39.  
  40.   NodeLibrary
  41.   ===========
  42.  
  43.     oops! bug in HBBS_CheckConfAccess() caused the CheckUser door on some
  44.     machines to either crash, cause enforcer hits or just refuse the user
  45.     access to any conferences.  Fixed!
  46.  
  47.   Node
  48.   ====
  49.  
  50.     Did more work on the implementing of N_ND->NodeSettings.UseDevice detailed
  51.     below..
  52.  
  53. 18-NOV-1996
  54. ===========
  55.  
  56.   Node
  57.   ====
  58.  
  59.     The node program was ignoring the UseDevice option in NodeLocal files as I had
  60.     not finished implementing it but had set the option in the release of A11.
  61.     Starting node 0 caused the program to crash (not suprising if you send data
  62.     to a device that hasnot been opened! :-)
  63.  
  64. 15-NOV-1996
  65. ===========
  66.  
  67.   Node
  68.   ====
  69.  
  70.     Opens the serial port in NON shared mode as in release A10 as some users had
  71.     problems with serial drivers that do not support shared mode...
  72.  
  73.   XPR
  74.   ===
  75.  
  76.     does not re-open the serial port anymore (this re-introdues non functional
  77.     XPR transfers for nullmodem.device nodes however... :-(
  78.  
  79.     ** In the next release there will be an option for serial port in shared
  80.        mode per node.
  81.  
  82.  
  83. 07-NOV-1996 - Update Pack #1 for A11 uploaded to Aminet
  84. =======================================================
  85.  
  86.   Mail_Write
  87.   ==========
  88.  
  89.     if a handle is entered incorrectly you are prompted to change it, but now
  90.     you actually get the handle in the string buffer to edit!
  91.  
  92.     added lots of GL_HISTORY's everywhere for command line history
  93.  
  94.     changed message about not being able to write multiple messages
  95.     as it doesn't ask you to reenter, it just sends it to the first person
  96.     now it tells you so!
  97.  
  98.   Mail_Read
  99.   =========
  100.  
  101.     if a handle is entered incorrectly you are prompted to change it, but now
  102.     you actually get the handle in the string buffer to edit!
  103.  
  104.     wow, what the bugger, there was loads of unused code in this program
  105.     that I must have forgotten to remove when I copied the code from the
  106.     mail_write.c file..  Anyway, it's removed now..
  107.  
  108.     added ctrl+c checking
  109.  
  110.     fixed problem with deletemail() not letting you delete some of your own
  111.     mail messages to other users
  112.  
  113.       Rules for deting mail
  114.       ---------------------
  115.  
  116.       Users with an access level of 250 or above can ALWAYS delete mail
  117.       from anyone, even if setto non-deletable.
  118.  
  119.       Users can always delete mail that they wrote, even if it's non-deletable
  120.  
  121.       Users can delete messages written to them solong as it's not non-deletable
  122.  
  123.       Users can delete messages from other people if they have the correct
  124.       access settings to allow them to do so
  125.  
  126.  
  127.   Mail_ReadUSER
  128.   =============
  129.  
  130.     changed a few bits and bobs so you can read messages in reverse order
  131.  
  132.     added a displayed message about ctrl+c checking
  133.  
  134.     sysop can read sysop mail nomatter what access level (does SysopAccount
  135.     name checking instead of AccessLevel checking..)
  136.  
  137.   MailCommon.i
  138.   ============
  139.  
  140.     moved a few routines from mail_write to it.
  141.  
  142.   Mail_Scan
  143.   =========
  144.  
  145.     it was scanning for sysop mail for all users, but displaying
  146.     "Scanning Public Mail"
  147.  
  148.     it now displays "Scanning Sysop Mail" and checks to see if the user's
  149.     handle is the same as BBSGlobal->SysopAccount
  150.  
  151.   Mail_Reply
  152.   ==========
  153.  
  154.     recompiled because of MailCommon.i
  155.  
  156.   HBBSNode.library
  157.   ================
  158.  
  159.     Added another paramater to HBBS_AllowConfAccess()
  160.  
  161.   Node_Input.c
  162.   ==============
  163.  
  164.     slight optimization in Get_Line() (codesize redection)
  165.  
  166.  
  167.   JoinConference
  168.   ==============
  169.  
  170.     Updated it to correct some ambigus/missing error messages
  171.  
  172.     Updated to cope with new HBBS_AllowConfAccess()
  173.  
  174.   CheckUser
  175.   =========
  176.  
  177.     Updated to cope with new HBBS_AllowConfAccess()
  178.  
  179.  
  180. 05-NOV-1996 - Alpha Release A11 uploaded to Aminet
  181. ==================================================
  182.  
  183.   Happy guy fawkes day!!!
  184.  
  185.   I've already seen enough fireworks on saturday so I'm going to be boring
  186.   and stay in tonight! :-)
  187.  
  188.   Spent most of the evening tiedying up some config files and checking things
  189.   out, and getting HBBS ready for the next alpha release
  190.  
  191.   XPR
  192.   ===
  193.  
  194.     Opens the serial port with XON/XOFF enabled when you are using a nullmodem
  195.     cable.
  196.  
  197.   Control
  198.   =======
  199.  
  200.     Fixed LoadProtocols() subroutine so that it loads more than one protocol!
  201.  
  202.   Screens.guide
  203.   =============
  204.  
  205.     Updated to document usage of @^@ sequences with regard to print formatting
  206.  
  207.     e.g.
  208.  
  209.     @^-20.20^ComputerName@
  210.  
  211.  
  212.   FileLister
  213.   ==========
  214.  
  215.     Changed some ansi
  216.  
  217.   JoinConference
  218.   ==============
  219.  
  220.     Changed some more ansi
  221.  
  222.     if there are less than 10 confs there is no space between the [ and
  223.     the number anymore
  224.  
  225.   LastCallers
  226.   ===========
  227.  
  228.     Was linewrapping on some terminal emulators, so removed one char from
  229.     the group item
  230.  
  231.   Pager
  232.   =====
  233.  
  234.     Made the Ctrl+C checking actually work :-)
  235.  
  236. 31-OCT-1996
  237. ===========
  238.  
  239.   Versionstrings!
  240.   ---------------
  241.  
  242.     I have gone to great lengths to ensure that every major part of hbbs
  243.     and every door now has a version string.  To check the version of a
  244.     program do "Version <filename> FULL"
  245.  
  246.   FrontEnd
  247.   ========
  248.  
  249.     Added a timeout value of 30 seconds to each password prompt
  250.     so the bbs never sits around waiting for a dumbass user to enter a node
  251.     password!
  252.  
  253.   Pager
  254.   =====
  255.  
  256.     Added Ctrl+C Checking
  257.     (Just for you radiosity... :-)
  258.  
  259.   HBBSCommon
  260.   ==========
  261.  
  262.     changed the HBBS_LogError() function so the log files look nicer and easier to read
  263.  
  264.   Control
  265.   =======
  266.  
  267.     Now writes to the bbs error log file when it is started and stopped
  268.  
  269.   Node
  270.   ====
  271.  
  272.     Now writes to the bbs error log file when a node is started or stopped
  273.  
  274.   XPR
  275.   ===
  276.  
  277.     What a DICK, I'm a HUUUUUGE fat dick.
  278.  
  279.     tho shalt not confuse | with || when setting variables....
  280.  
  281.     i accidentally had the line:
  282.  
  283.     WaitSigs=(1L<<tport->mp_SigBit) || (1L<<NewPort->mp_SigBit);
  284.  
  285.     when it should have been
  286.  
  287.     WaitSigs=(1L<<tport->mp_SigBit) | (1L<<NewPort->mp_SigBit);
  288.  
  289.     so when I did a Wait(WaitSigs) it wait waiting for 0x01 instead of the actual
  290.     signal bits!
  291.  
  292.     Major OOOOops!
  293.  
  294.   Node_Serial.c
  295.   =============
  296.  
  297.     If you are using a null modem cable then it sets the serial port options up
  298.     differently. *D*ocument
  299.  
  300.     **** IMPORTANT ******
  301.  
  302.     if you are using the USRSerial.device and have NullModemCable set to true in the
  303.     device config for a node then you must use a 7 wire null modem cable
  304.  
  305.     If you only have a 3 wire null modem cable then you should use serial.device instead
  306.  
  307.   Transfer
  308.   ========
  309.  
  310.     is displayed "[S]tart Transfer," twice
  311.  
  312.   CheckFiles
  313.   ==========
  314.  
  315.     the "." was not in the list of allowed chars for filenames so it complained
  316.     about more or less every file!
  317.  
  318.  
  319. 29-OCT-1996
  320. ===========
  321.  
  322.   NewUser
  323.   =======
  324.  
  325.     The message in the BBS Log file now contains the handle and group of the
  326.     user just created
  327.  
  328.     ********************************** IMPORTANT ******************************************
  329.  
  330.     The following settings have now been moved to a more suitable location:
  331.  
  332.     HBBS:Conferences/ConfList/NewUserConf -> HBBS:Doors/System/NewUser/NewUser.CFG/ConfNum
  333.     HBBS:BBSGlobal/NewUserAccessLevel     -> HBBS:Doors/System/NewUser/NewUser.CFG/AccessLevel
  334.  
  335.     and a new setting HBBS:Doors/System/NewUser/NewUser.CFG/TimeAllowed has been added
  336.     more to come!
  337.  
  338.  
  339.   HBBSCommon.library
  340.   ==================
  341.  
  342.     HBBS_InitUserData() has been updated, you now pass it an Access level and
  343.     a conf number for it to base its settings on.
  344.  
  345.   structures.h
  346.   ============
  347.  
  348.     BBSGlobal.NewUserAccessLevel
  349.     BBSGlobal.NewUserConf
  350.  
  351.     have both been removed.
  352.  
  353.   Control
  354.   =======
  355.  
  356.     BBSGlobal.NewUserAccessLevel
  357.     BBSGlobal.NewUserConf
  358.  
  359.     are not read from the config files anymore
  360.  
  361. 09-OCT-1996
  362. ===========
  363.  
  364.   Todo.TXT
  365.   ========
  366.  
  367.     Updated this list and ordered most of it.
  368.  
  369.   Account Edit
  370.   ============
  371.  
  372.     Implemented new user searching.
  373.  
  374.   HBBSCommon
  375.   ==========
  376.  
  377.     Fixed and highlighted a few bugs and problems that I've found with a couple
  378.     of my methods
  379.  
  380.   FrontEnd
  381.   ========
  382.  
  383.     Oops! User with a DELETED status could still login! :-)
  384.  
  385. 08-OCT-1996
  386. ===========
  387.  
  388.   Account Edit
  389.   ============
  390.  
  391.     Checks for valid access levels when you change a users access level!
  392.  
  393.  
  394. 02-SEP-1996
  395. ===========
  396.  
  397.   Holy cow-dung batman!
  398.  
  399.   I've not been doing HBBS for over a whole month, sorry about that.
  400.   Anyway, next week I'll be working on HBBS everyday so I should get quite a
  401.   lot done with any luck.
  402.  
  403.  
  404. 21-AUG-1996
  405. ===========
  406.  
  407.   Yoiks, having a girlfriend nicks all your time....
  408.  
  409.   erm, anyway...
  410.  
  411.   Went bug hunting and made a big list of things that I need to do,
  412.   also created HBBS:KnownProblems.TXT listing known problems that are
  413.   NOT technically bugs.
  414.  
  415.   XPR
  416.   ===
  417.  
  418.     Did a bit of optimisation to try and fix the weird timeout problem when
  419.     uploading via a real serial port..
  420.  
  421.   AccountEdit
  422.   ===========
  423.  
  424.     Revamped the code in a BIG way, started adding the stuff for checking for
  425.     new users etc..
  426.  
  427.   Announce
  428.   ========
  429.  
  430.     Changed ansi to make it cooler!
  431.  
  432.  
  433. 05-AUG-1996
  434. ===========
  435.  
  436.   JoinConference
  437.   ==============
  438.  
  439.     Whoops, in my hurry to get this out i forgot to finish the part where
  440.     it rejoin the users prefered conf or lastconf....
  441.     (ie, it ignored the SYSTEM parameter and joined the first conf it found)
  442.  
  443.   Node
  444.   ====
  445.  
  446.     Displays error messages if items from NodeLocal or Device are missing
  447.  
  448.     Oops, TurnOnEchoDelay in the device config was being ignored!
  449.  
  450.   Control
  451.   =======
  452.  
  453.     Displays error messages if items from NodeGlobal are missing
  454.  
  455.   ErrorMessage
  456.   ============
  457.  
  458.     changed so that it replaces @E@ with all the params after the nodenum
  459.     rather than just the first one
  460.  
  461.   HBBSCommon.library
  462.   ==================
  463.  
  464.     HBBS_GetSetting was ignoring VTYPE_TIME.
  465.  
  466. 01-AUG-1996
  467. ===========
  468.  
  469.   PCMCIA scsi cards are cool.....
  470.  
  471.   anyway...
  472.  
  473.   Sorry for the lack of progress over the last couple of weeks, been somewhat
  474.   busy with new toys, linux, women and my car.. :-)
  475.  
  476.   CheckUser
  477.   =========
  478.  
  479.     Now checks for the (lack of) user's conf acs data file.
  480.  
  481.   Account Edit
  482.   ============
  483.  
  484.     ditto
  485.  
  486.   NodeLibrary
  487.   ===========
  488.  
  489.     added HBBS_AllowConfAccess(), call this to see if a user is allowed to
  490.     join the conf number specified..
  491.  
  492.   JoinConference
  493.   ==============
  494.  
  495.     moved AllowAccess() to Nodelibrary :-)
  496.  
  497.   Version Numbers
  498.   ===============
  499.  
  500.     Some people have pointed out that all the version numbers on various parts
  501.     of the program never seem to match up.  Well the reason for this is that
  502.     it's all too easy to forgot to change them..  The one on the Await Screen
  503.     (Await.TXT) should however always have the correct version number on it
  504.     (is it's the easist one to change :-)
  505.  
  506. 25-JUL-1996
  507. ===========
  508.  
  509.   Hey, Linux roolz...  A Much better OS than Windows to run on a PC..
  510.   (he says after installing it on his new laptop computer and playing with that
  511.   for about a week)
  512.  
  513.   Oops. Back to HBBS..
  514.  
  515.   Node
  516.   ====
  517.  
  518.     Fixed a little (?!) bug in my CheckRaw() code,  it wasn't checking to see if
  519.     the serial device or the console device were acutally open before using them
  520.     which resulted in a crash of the node program!
  521.  
  522.     Thanks to Joel for pointing this out to me...
  523.  
  524.   CheckFiles
  525.   ==========
  526.  
  527.     Now checks for invalid chars in filenames, the only chars that are
  528.     allowed are:
  529.  
  530.     "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqurstuvwxyz1234567890-_@!"
  531.  
  532. 16-JUL-1996
  533. ===========
  534.  
  535.   Node
  536.   ====
  537.  
  538.     Bug Fix:  DisplaySpecialScreen() was using User.NormalData to find the
  539.     access instead of User.CallData.  This meant screens were not displayed
  540.     if you changed the users access level for the duration of the call!
  541.  
  542.     Added GL_CVTUPPER GetLine() Flag to convert keys to uppercase as they
  543.     are pressed!
  544.  
  545.   Nodelibrary
  546.   ===========
  547.  
  548.     Fixed bug with HBBS_LoadConfAcs  where it was looking for a config
  549.     item called See_XX instead of SeeOverride_XX...
  550.  
  551.   JoinConference
  552.   ==============
  553.  
  554.     Rewrote the entire door, it's better to use, looks nicer *AND* the code
  555.     is realllllly nice now (as opposed to the complete mess it was before..
  556.     I'm ashamed to own up to coding the old one :-)
  557.  
  558.   AccountEditor
  559.   =============
  560.  
  561.     Added option to change preferred conference
  562.  
  563. 15-JUL-1996 - Alpha Release 10a Uploaded to Aminet
  564. ==================================================
  565.  
  566.   Note: if your users have lots of CRC errors when uploading files using the
  567.   serial port then change the xprzmodem.ibrary to a different one.  see files:
  568.   HBBS:System/Amiga/Libs/XPR/xprzmodem#?.library
  569.  
  570.   Rewrote readme.1st as it had become just a touch out of date! :-)
  571.  
  572.   Downloaded Joel Juillerat's doors from aminet and have decided to include
  573.   them in the official HBBS archive as they are quite cool..
  574.  
  575.   The doors can be found in the usual place, the directory names have _JJ added
  576.   to them so you know who's are who's... :-)
  577.  
  578.   See the HBBS:Docs/Doors for details of Joel's doors..
  579.  
  580.   Logout
  581.   ======
  582.  
  583.     Temporarilay disabled option of logging out after a transfer until i have
  584.     a chance to implement it..
  585.  
  586.   Transfer
  587.   ========
  588.  
  589.     Added NOGOODBYE parameter to disable "[G]oodbye After Xfer"
  590.  
  591.   ModifyDIZ
  592.   =========
  593.  
  594.     added an ansi esc seq to move up one line when a blank line is detected
  595.     (e-o-diz) so that the diz looks the same on screen as it will in the file
  596.  
  597.   AddDIZToList
  598.   ============
  599.  
  600.     Now add's the sentby.. (a whole 5 lines of new code..)
  601.  
  602.   ExtractDIZ
  603.   ==========
  604.  
  605.     tells the user what kind of file it is..
  606.  
  607.   FileLister
  608.   ==========
  609.  
  610.     Now displays sentby lines!
  611.  
  612. 13-JUL-1996 - Alpha Release 10 Distributed Today (Only On Utopia!)
  613. ==================================================================
  614.  
  615.   Utopia! BBS is now set-up again, the number to call is +44(0)1202 434121
  616.  
  617. 09-JUL-1996
  618. ===========
  619.  
  620.   Did a bit of testing HydraBBS from work today, It seems actually pretty
  621.   fast on the users side even when using a 14.4k modem with HyperTerminal
  622.   on windows '95 :-)
  623.  
  624.   Shell
  625.   =====
  626.  
  627.     Just realised that XPR needs a trailing / or : on any download path (adds names to path)
  628.     so had to modify the xpr door call.
  629.  
  630.     Sets the new action flag, ACTN_USEDSHELL (see defines.h)
  631.  
  632.   XPR
  633.   ===
  634.  
  635.    changed it so that you don't need /'s to be on the end of a path! :-)
  636.  
  637.   HBBSCommon.Library
  638.   ==================
  639.  
  640.     HBBS_ValidUserHandle() checks for ;'s and ,'s in the username, returns FALSE if found..
  641.  
  642. 08-JUL-1996
  643. ===========
  644.  
  645.   All in all, a good days work...
  646.  
  647.   Shell
  648.   =====
  649.  
  650.     Fixed the shell door so that it doesn't take creds for downloaded files :-))
  651.     :-) Hhehehheehheeee... Ooops, giggle, smirk hehehe hohoho haha...
  652.  
  653.     also fixed it's incorrect responce of "Command Not Found" when a program returned
  654.     an errorlevel.. :-)
  655.  
  656.   XPR
  657.   ===
  658.  
  659.     Fixed stack problems, (see the __stack and scoptions...)  xpr does not work
  660.     unless you set CODE and DATA to FAR, so __stack must be __near'd....
  661.  
  662.     fixed the W=<uploaddir> options so that it works
  663.     now :-) hehe,  i was actually checking for existance of the file in the
  664.     wrong place! Oops!
  665.  
  666.   Node
  667.   ====
  668.  
  669.     Whay, cool....  Added IN_DIALOUT to possible returns for GetLine()
  670.     if the await connect door gets it then it'll ask for a phone number
  671.     and it'll dial it... This roolz as it means sysops have the possibility
  672.     to initiate a call rather than the user!  Most excellent!
  673.  
  674.   AwaitConnect
  675.   ============
  676.  
  677.     Added support for IN_DIALOUT, oh yeah, you need to press Shift + F9
  678.     on the await screen to use it!
  679.  
  680.  
  681.   Mail_Write
  682.   ==========
  683.  
  684.     Added new option to config file (HBBS:Doors/User/Mail/Mail.CFG)
  685.     called DefaultExpiryDays, defaults to 30 days. All messages can be made
  686.     to expire by use of the access setting:  AutoExpireMsg=YES
  687.  
  688.   ExtractDIZ
  689.   ==========
  690.  
  691.     Displays name of file..
  692.  
  693.   HBBSCommon.library
  694.   ==================
  695.  
  696.     Fixed a bug in HBBS_RunDOSCMD() where i was using replace() directly on one
  697.     of the inputs to the function, rather than taking a copy of the input and using
  698.     that (which it now does)  this could have caused memory corruption!!
  699.  
  700.     also made it so that it *ALWAYS* opens an output handle. instead of only
  701.     opening an ouputhande when noredirection was used...
  702.     (this seems to have fixed the random lockups of the shell door)
  703.  
  704.   Editor
  705.   ======
  706.  
  707.     added GL_HISTORY to the GetLine() call..
  708.  
  709.     added Line Editing
  710.  
  711.     added message listing..
  712.  
  713.     added ability to delete lines
  714.  
  715.     added a CLS option, press W at the menu prompt, it's not on the list tho...
  716.  
  717. 07-JUL-1996
  718. ===========
  719.  
  720.   Wall
  721.   ====
  722.  
  723.     Changed the format of the history file, it no longer pads the output string
  724.     and adds the handle to the end of it.
  725.  
  726.   Logout
  727.   ======
  728.  
  729.     If you have tagged files it will display them (via the A door, "A L")
  730.     then it will ask you if you are sure you want to logout now..
  731.  
  732.     You can use the N parameter (N for NOW) on the logout command to
  733.     skip checking.  i.e.  "G N" to logout without checking tagged files
  734.  
  735.  
  736.  
  737.   Shell
  738.   =====
  739.  
  740.     did a bit more flaffing around with this door, at the moment it seems
  741.     to lockup randomly while running a command (locks up doing HBBS_RunDOSCMD()
  742.     Doesn't seem to be a stack related problem, i can't seem to figure out what
  743.     the blazes is going wrong with it...)
  744.  
  745.   XPR
  746.   ===
  747.  
  748.     Added a W=<upload path> option to the commandline, so that if you want to
  749.     pass it some filenames with a full path, it'll add whatever path you specify
  750.     with this parameter.
  751.     note: don't use dirs with spaces in! *C*
  752.  
  753.   Node_Input.c
  754.   ============
  755.  
  756.     Modified GetL_ine() so that when you use the PasswordChar parameter with a
  757.     promptstr the promptstr is displayed using the PasswordChar.
  758.  
  759.     * Thanks to Joel for noticing that problem!
  760.  
  761.  
  762. 05-JUL-1996
  763. ===========
  764.  
  765.   Shell
  766.   =====
  767.  
  768.     Created a cool (and simple) shell door for sysops to use, features
  769.     uploading and downloading to current directory! Woooooo!
  770.  
  771.  
  772. 01-JUL-1996
  773. ===========
  774.  
  775.     ************************* VERY IMPORTANT *****************************
  776.     ************************* VERY IMPORTANT *****************************
  777.  
  778.     ************************* VERY IMPORTANT *****************************
  779.     ************************* VERY IMPORTANT *****************************
  780.  
  781.     ************************* VERY IMPORTANT *****************************
  782.     ************************* VERY IMPORTANT *****************************
  783.  
  784.   As of today, all Command config files are changed!!! Read on...
  785.  
  786.   Node
  787.   ====
  788.  
  789.     <doorname>_Type_<num> params in command files have been changed!
  790.     Now use one of CLS, CLI, HBBS, ECHO, DOS, SCREEN or SSCREEN
  791.     i.e. NORMAL has been changed to HBBS
  792.  
  793.     Right, small change, but big effect...  All _Door_ options in command files
  794.     take the following format... (For CLI and HBBS type doors only)
  795.  
  796.     <doorname>_Door_<num>=<path+file of door> [<params>][{N}][{O}][<more params>...]
  797.  
  798.     e.g.
  799.  
  800.     FR_Type_1=HBBS
  801.     FR_Door_1=HBBS:Doors/User/FileLister/FileLister.HBBS {N} {O}
  802.     FR_Param_1=REVERSE
  803.  
  804.     {N} is replaced with the nodenum
  805.     {O} is replaced with the options typed at the bbs prompt, so if a user on
  806.     node 2 types in
  807.  
  808.       FR -1
  809.  
  810.     The actual command that gets run is:
  811.  
  812.       HBBS:Doors/User/FileLister/FileLister.HBBS 2 -1
  813.  
  814.     you can use {N} and {O} ANYWHERE in the Door_ parameter, so you could even run
  815.     different executable files from different directories depending on what node you were
  816.     on....
  817.  
  818.     I may decide to create more {x} codes in the future too... Any suggestions welcome..
  819.  
  820.     This makes running doors even more flexible now...
  821.  
  822.     example..  before now, you had to specify a system option to the mail door to force
  823.     it to a particular type of mail. e.g.
  824.  
  825.     C_Type_1=NORMAL
  826.     C_Door_1=HBBS:Doors/User/Mail/Mail_Write.HBBS
  827.     C_Param_1=COMMENT
  828.  
  829.     But now you can set it up like this...
  830.  
  831.     C_Type_1=HBBS
  832.     C_Door_1=HBBS:Doors/User/Mail/Mail_Write.HBBS {N} S {O}
  833.  
  834.     which is the same as the user typing "E C" at the bbs prompt...
  835.  
  836.     You can even do this: (example for nodestats)
  837.  
  838.     NSTAT_Type_1=SSCREEN
  839.     NSTAT_Door_1=NSTATS{N}
  840.  
  841.     so if you were on node 2 and you typed NSTAT you'd get the screen called
  842.     HBBS:Screens/Special/NSTATS2.TXT
  843.  
  844.     Cool or what ?
  845.  
  846.     Hope you all understand that and my reason for doing it.  And sorry for the
  847.     inconvenince of making you change ALL your command files :-(
  848.  
  849.   Wall
  850.   ====
  851.  
  852.     Now creates Wall.History in it's progdir:  this records time/date/handle and text
  853.  
  854.   HBBSCommon.Library
  855.   ==================
  856.  
  857.     Updated AssignOK() to cope with "Progdir:" which is a valid assign, but does not
  858.     appear on volume lists! Ooohhh...  I love you C=!
  859.  
  860.     I've only noticed this now cos I changed the wall which uses HBBS_SaveConfig()
  861.     which uses AssignOK() on the path...
  862.  
  863.  
  864.   Mail_Reply
  865.   ==========
  866.  
  867.     Updated the quoting of messages part.  You now get the option to quote all the
  868.     message or just a section of it.. (At Last!!!!!)
  869.  
  870.   Mail_Read
  871.   =========
  872.  
  873.     If a message has no expiry date, then it won't be printed on the screen
  874.  
  875.   Zippy
  876.   =====
  877.  
  878.     Added Ctrl-C checking and fixed a bug where it sometimes displayed the last line
  879.     twice of the last file in the filelist
  880.  
  881.   JoinConf
  882.   ========
  883.  
  884.     Fixed so it logs you off if you can't rejoin any conferences at login time...
  885.  
  886. 30-06-1996 Update Pack #3 Released
  887. ==================================
  888.  
  889.   Oh bugger...  I've made a slight miscalculation on the FILE_ID lengths
  890.   i thought 48 would work, but it was 3 chars too long (causes linewrap)
  891.   so I've had to change it to 45,  BUT, the sentby in the user.data is still
  892.   set to 48, doh...  I've added a #define called LEN_DIZWIDTH now...
  893.  
  894.   I'll not change the sentby length to 45 until the next full alpha release...
  895.   (however, the sentby door and the ModifyDIZ doors have been corrected..)
  896.  
  897.   SentBy
  898.   ======
  899.  
  900.     Changed to cope with LEN_DIZWIDTH
  901.  
  902.     Changed the ANSI
  903.  
  904.   ModifyDIZ
  905.   =========
  906.  
  907.     Changed to cope with LEN_DIZWIDTH
  908.  
  909.   HBBSCommon.library
  910.   ==================
  911.  
  912.     Changed HBBS_RunDOSCMD() so that it supports redirection.
  913.  
  914.     if it detects a > or < charater in the command it is going to run it will
  915.     not open the standard console output.
  916.  
  917.   Time (T at BBSPrompt)
  918.   =====================
  919.  
  920.     Created a new door, uing the new features of HBBS_RunDOSCMD().  It now
  921.     writes the time to a temp file, and runs figlet to convert this file
  922.     into cool ascii which is then displayed using DOOR_DisplayScreen()
  923.     if you look at the source you'll see why I had to change HBBS_RunDOSCMD()
  924.     above.
  925.  
  926.   FileHistory
  927.   ===========
  928.  
  929.     Called after ExtractDIZ, this door create a file called <Filename>.History
  930.     in lha archives and lists all the bbs's, users and time/date of upload
  931.     to that bbs so you can trace the file!  Cool for bbs/trader charts.
  932.  
  933.   HBBS:System/FileID
  934.   ==================
  935.  
  936.     Added <>nil: to each of the commands so that no output is seen from them
  937.     (previously a window appeared on the control screen and went away again
  938.     which was a bit annoying if you were trying into another window at the same
  939.     time as a file_id.diz was being extracted! hehe..)
  940.  
  941.   Docs
  942.   ====
  943.  
  944.     Updaed a few of the docs, created a nw subdir in HBBS:Docs called Doors
  945.     in which you should store all your .Guide files for all your doors.
  946.     Don't forget to update DOORIndex.Guide when you put a new file in there
  947.  
  948.   FileLister
  949.   ==========
  950.  
  951.     Found a rather major bug in the "New" list part of the program, it did't
  952.     work unless there was a blank line between each file in the filelist!!?!!
  953.  
  954.   HBBSCommon.Library
  955.   ==================
  956.  
  957.     was not initalising User->SentBy which caused a new user to get the sentby
  958.     of the last person that logged in, fixed now
  959.  
  960.   MailScan
  961.   ========
  962.  
  963.     wasn't checking for the access level setting, therefore users could read
  964.     mail that had an access level above their own access level, fixed now...
  965.  
  966. 29-06-1996 Update Pack #2 Released
  967. ==================================
  968.  
  969.   Argh, I hate getting colds... (the flu..)
  970.  
  971.   CheckTags
  972.   =========
  973.  
  974.     Prints the date the user last called instead of DD/MMM/YY now..
  975.  
  976.   CheckFiles
  977.   ==========
  978.  
  979.     Now sets the user's LastUploadDate when a file is uploaded to a conference
  980.     dir.
  981.  
  982.   Node
  983.   ====
  984.  
  985.     added two new @^@ codes, TIME and DATE... :-)
  986.  
  987.   Screens
  988.   =======
  989.  
  990.     changed the await screen again.
  991.  
  992. 27-06-1996
  993. ==========
  994.  
  995.   Most of today's coding was working on implementation of user time stuff.
  996.  
  997.   FileLister
  998.   ==========
  999.  
  1000.     Pressing Ctrl-c now displays the Prompt that you'd normally get at the
  1001.     bottom of a page, cool!
  1002.     Also fixed bug in that it would always say End-Of-File even tho it wasn't
  1003.     at it.. (this was just the wrong string passed to DOOR_MenuPrompt())
  1004.  
  1005.   Frontend
  1006.   ========
  1007.  
  1008.     added GL_NOOLM's too all the GetLine()'s...
  1009.  
  1010.   Logout
  1011.   ======
  1012.  
  1013.     Moved most of the door to DOOR_Goodbye();
  1014.  
  1015.   CommandPrompt
  1016.   =============
  1017.  
  1018.     Added Autologoff when time runs out...
  1019.  
  1020.     Displays a message when a users time runs out if it can't find the specialscreen "NOTIME"
  1021.  
  1022.   Access.h
  1023.   ========
  1024.  
  1025.     Added New Access Settings (120-123, Unlimxxxx)
  1026.  
  1027.   Account Edit
  1028.   ============
  1029.  
  1030.     Added options (12,13 and 14) regarding time settings
  1031.  
  1032.   HBBSNode.library
  1033.   ================
  1034.  
  1035.     added HBBS_TimeOnline() and HBBS_TimeLeft(), HBBS_TimeLeft() returns a LONG
  1036.     and can be a negative value (i.e. been on more that alloted time..)
  1037.  
  1038.     Updated {L} code (TimeLeft)
  1039.  
  1040.     Added {O} code for time online
  1041.  
  1042.     Updated LoadAccess() to cope with new access settings (see above)
  1043.  
  1044.     Added DOOR_Goodbye() which performs all the things needed to complete a sucessful logoff..
  1045.     (see Logout above)
  1046.  
  1047.   Node
  1048.   ====
  1049.  
  1050.     now adds "Time Online: <mins>" to the callers log when a user logs off..
  1051.     so adjust your bulletin makers to find out how long a bbs was used for in a 24hr period.
  1052.     (for instance..)
  1053.  
  1054.     Added a new @^@ Code called @^TIMELEFT@
  1055.  
  1056.     Updated the @^TIMEUSED@ code.
  1057.  
  1058.   Reminder: {?} codes are used on prompts (like command prompt)
  1059.             @^@ codes are used in screens (like the stats screen)
  1060.  
  1061.  
  1062. 25-06-1996
  1063. ==========
  1064.  
  1065.   HBBSNode.Library
  1066.   ================
  1067.  
  1068.     ***** ADDED DOOR_CheckRaw(), see HBBS:Source/Doors_User/Test/Main.C for an example
  1069.     of Ctrl-C checking.  Basically, the gist of this function is that you call it
  1070.     and it returns true if it got a byte of data from either the serial port
  1071.     or the console device (depending on what was asked for..), you then check
  1072.     N_ND->CurrentLine[0] for that byte that was received.
  1073.     N_ND->CurrentLine[1] is set to 0 (to null terminate it)
  1074.     N_ND->CurrentLine[2] is set to 0x01 to denote input from console or 0x02 for serial
  1075.  
  1076.     note:  if the sysop was to press Cursor left at *exactly* the same time as the user
  1077.     on-line then you might get a weird result if you were checking for the 2 character
  1078.     control sequence that pressing cursor left gives you.  However, console input is
  1079.     processed before serial input so you might not!..
  1080.  
  1081.       i.e.  check console
  1082.             if data from console then return true
  1083.             check serial
  1084.             if data from serial then return true
  1085.             return false
  1086.  
  1087.     anyway, all those door codes who wanted raw input, here it is, so get coding raw
  1088.     input doors NOW...  I'll be updating all my filelister/text viewer doors for
  1089.     ctrl-c checking v.soon...
  1090.  
  1091.   FileLister
  1092.   ==========
  1093.  
  1094.     When doing non-stop lists (a or l), it will now check for ctrl-c at the bottom of each
  1095.     page.  Wow!
  1096.  
  1097. 24-06-1996
  1098. ==========
  1099.  
  1100.   CUNTS,  CUNTS the lot of em...  I hate people that nick car stereo's...  Today I wake
  1101.   up, go to the car and it's been fucking broken into.  I have all the luck..  I'd just
  1102.   kitted it out with 1200 quid's worth of stereo.. (oh, yeah, I bought a nice new BMW 316
  1103.   last month, so I'm now the proud owner of 2 of them! Heheh, this one's much newer and
  1104.   faster tho... has lowered suspension too.. Anyway...)  Oh well, there goes another 500
  1105.   quid to replace the Multi-CD player, Broken glass and Infared Remote control for
  1106.   the head unit..
  1107.  
  1108.   Didn't do any work on HBBS today as I was too busy repairing my A4000's hard disks
  1109.   after a major crash...  Fortunatly I didn't loose any HBBS stuff at all...
  1110.  
  1111. 23-06-1996
  1112. ==========
  1113.  
  1114.   HBBSNode.library
  1115.   ================
  1116.  
  1117.     fixed a slight bug that caused HBBS to crash if you started a node, logged
  1118.     in, logged out, shutdown and then restarted and then logged in..  As you
  1119.     can see it was a BIT hard to find :-) heheh..
  1120.  
  1121.  
  1122.  
  1123. 22-06-1996
  1124. ==========
  1125.  
  1126.   Included some 3rdParty software in HBBS:Utils/3rdParty
  1127.  
  1128.     Mirage - A very cool IFFANIM-ANSIANIM converter!
  1129.  
  1130.     THEAnsiEd - A beta version of an ANSI editor written by me,  It's
  1131.                 not finished yet, but you can use it to create 100%
  1132.                 perfect ansi files (unlike other ansi editors)
  1133.                 A lot of menu functions and features do not work yet
  1134.                 and it's also a bit slow on the old screen refresh, but
  1135.                 it's still cool...
  1136.  
  1137.                 Oh, and It also supports @^@ codes in files! (AutoDetects
  1138.                 an HBBS file... Cool or what ! !?!?!?!?!?!!!!)
  1139.  
  1140.   Node
  1141.   ====
  1142.  
  1143.     Added GL_NODISTURB  DOOR_GetLine() flag, if set, hbbs will not disturb the
  1144.     characters on the right hand side of where the string is to be entered.
  1145.  
  1146.     e.g.  you can now write some text like this "Enter ID: [  ]" and with the
  1147.     GL_NODISTURB flag set the ] will stay firmly in place...
  1148.  
  1149.     However, don't use a maxlen value that makes hbbs linewrap
  1150.       (i.e.  don't position ask for a string 20 chars long when you're starting
  1151.       at position 70)
  1152.  
  1153.     At the moment it's best not to specify GL_HISTORY as pressing up/down
  1154.     (and ctrl-x) wipes the line.  to be fixed shortly..
  1155.  
  1156.   AccountEdit
  1157.   ===========
  1158.  
  1159.     Fixed (slight) bug on length of ConfAcsDataFile was set to LEMN_GROUP instead of LEN_CONFACSFILE
  1160.  
  1161.     Added new option to change the SentBy string
  1162.  
  1163.   AskSentBy (SENT at bbs prompt)
  1164.   ==============================
  1165.  
  1166.     Created door.
  1167.  
  1168.  
  1169. 21-06-1996
  1170. ==========
  1171.  
  1172.   No work really, just tiedied a few files here and there..
  1173.  
  1174. 20-06-1996
  1175. ==========
  1176.  
  1177.   Skived work today after getting completely wasted last night, so I've got a bit of time
  1178.   on my hands today.
  1179.  
  1180.   Node
  1181.   ====
  1182.  
  1183.   Fixed small bug with the commands that were created from @^SYSDOOR@ commands in
  1184.   screens.
  1185.  
  1186.   AccountEdit
  1187.   ===========
  1188.  
  1189.     Changed this a bit to validate Access Levels, also added a Validate User option
  1190.     and a tiny bit of help regarding it..
  1191.  
  1192.   FrontEnd
  1193.   ========
  1194.  
  1195.     Hack door can be called with several parameters now, they are:
  1196.  
  1197.       TIME  -  User has no time left today.
  1198.       PSWD  -  Password Failed
  1199.       LOCK  -  Account Is Locked Out (Status=L)
  1200.  
  1201.     with these parameters the user has the chance to leave a message to the sysop
  1202.     so that the sysop can get back to the user.  Heheh, so you can have loads of
  1203.     users annying the bollox of you asking for more time! :-)
  1204.  
  1205.   Hack
  1206.   ====
  1207.  
  1208.     Created Door!
  1209.  
  1210.     It also used some special screens, depending on the reason for the hack attempt
  1211.     to be caused (no time, password, locked account) HACK will display a different
  1212.     screen, so far these are: HACK_PSWD, HACK_LOCK, HACK_TIME.
  1213.     When the user logs off again the screen HACK_BYE is displayed..
  1214.  
  1215.     Have a look in HBBS:Screens/Special for examples
  1216.  
  1217. 19-06-1996
  1218. ==========
  1219.  
  1220.   Happy Birthday To Me!!
  1221.  
  1222.   Uploaded to Aminet, Comm/BBS/HydraBBSA9.lha and Comm/BBS/HydraBBSA9src.LHA
  1223.  
  1224. 18-06-1996
  1225. ==========
  1226.  
  1227.   Whay, it's my birthday tomorrow!
  1228.  
  1229.   SetSuspect
  1230.   ==========
  1231.  
  1232.     Yeah, you'll like this handy util... Ever had a user do weird things on your bbs
  1233.     and you wondered what had happened ?  then this door is for you!
  1234.  
  1235.     You give it a list of users that you think are suspect and when they log on
  1236.     next, the doorlog setting in your nodes config is overridden having
  1237.     the effect of making it log all doors that are used by the user!  Cool...
  1238.  
  1239.     Checkout the Source Code of the door for full details Doors_System/SetSuspect
  1240.  
  1241.   Mail_Write
  1242.   ==========
  1243.  
  1244.     You can now specify what type of mail you are going to write by using
  1245.     system parameters, see the EC door example in HBBS:Commands/Level_50
  1246.  
  1247.     use any of the following: COMMENT, PUBLIC, CONFERENCE, USER, INTERNET
  1248.  
  1249.   Docs
  1250.   ====
  1251.  
  1252.     Added info about WebSite in HBBS.Guide
  1253.  
  1254.   Control
  1255.   =======
  1256.  
  1257.     Pressing "Configure" with the Config window already open brings it to the front!
  1258.  
  1259.   Node
  1260.   ====
  1261.  
  1262.     Added DoorLog and DoorLogFile and DoorLogOverride to Node (see shared.c, NodeLocal,
  1263.     NodeGlobal, structures.h)  DoorLogOverRide is only set for the duration of the call
  1264.     and may be set by any door to start logging doors from that point on,  setting
  1265.     N_ND->DoorLogOverRide to TRUE means that any door that's run will be logged in the
  1266.     file specified by N_ND->NodeSettings->DoorLogFile regardless of wether
  1267.     N_ND->NodeSettings->DoorLog is ON or OFF.
  1268.  
  1269.  
  1270.     Totals: <data> gets written to the callers log now, so that other programs can see
  1271.     what the user did when online..
  1272.  
  1273.     e.g.
  1274.  
  1275.       18-JUN-1996 21:56:34 ************************************************[LOCAL]**
  1276.       18-JUN-1996 21:56:35 User logged in, Handle: Hydra Group: LSD Speed: LOCAL
  1277.       18-JUN-1996 21:58:43 Actions: SWR
  1278.       18-JUN-1996 21:58:43 Totals: FU=0 FD=0 BU=0 BD=0 PM=0 NK=0 MR=6 MW=3
  1279.       18-JUN-1996 21:58:44 End Of Session
  1280.  
  1281.     Item   Meaning
  1282.  
  1283.     FU     Files Uploaded
  1284.     FD     Files Downloaded
  1285.     BU     Bytes Uploaded
  1286.     BD     Bytes Downloaded
  1287.     PM     Pages Made
  1288.     NK     Files Nuked (that is, other users files that the user nuked using a nuker)
  1289.     MR     Messages Read
  1290.     MW     Messages Written
  1291.  
  1292.     The oder of these may change, and more will probably be added, they also might
  1293.     not all be two charater codes (may be more, maybe less...)  so make your doors cope!
  1294.  
  1295.   Structures.h
  1296.   ============
  1297.  
  1298.     Added KeepDIZWithFile to ConfData, also see the ConfConfig files for a setting
  1299.     of the same name...
  1300.  
  1301.   MoveFile
  1302.   ========
  1303.  
  1304.     Added new parameters, MOVEDIZ which will move the .DIZ to the same place as the file
  1305.  
  1306.   CheckFiles
  1307.   ==========
  1308.  
  1309.     Changed to cope with MoveFile's new option
  1310.  
  1311.  
  1312.  
  1313.  
  1314. 17-06-1996
  1315. ==========
  1316.  
  1317.   FUCK, it's 1:35AM and I've got work tomorrow! Doh!   Still listening to
  1318.   DubStar is COOL..  My birthday on wednesday (2 days)...
  1319.  
  1320.   Wrote a couple of small scripts to rebuild all of the doors in one go
  1321.   the Mail/#? won't compile as it includes another source file and
  1322.   mkmk creates a smakefile that is wrong, so I've made it so that it
  1323.   does not go into subdirectories...  see HBBS:Source/MakeDoor and
  1324.   HBBS:Source/RebuildDoors
  1325.  
  1326.   Created Example ConfAccess CFG files in HBBS:System/Data/ConfAccess
  1327.   See structures.h for ConfAcsData structure and N_ND->User.ConfAcs for data itself
  1328.  
  1329.   Changed HBBS:Access/Levels/Level_List so you can set which confaccess file to use
  1330.   by default.
  1331.  
  1332.   Control
  1333.   =======
  1334.  
  1335.     added support for ConfAcs_XX in Access/Levels/Level_List file
  1336.  
  1337.   Node
  1338.   ====
  1339.  
  1340.     moved HBBS:System/Data/TaggedFiles/<userid>
  1341.  
  1342.     to
  1343.  
  1344.     HBBS:System/Data/Users/<userid>/TaggedFiles.CFG
  1345.  
  1346.  
  1347.   HBBSNode.Library
  1348.   ===============
  1349.  
  1350.     Added HBBS_LoadConfAcsData()
  1351.  
  1352.     Updated HBBS_SetAccess()
  1353.  
  1354.   HBBSCommon.Library
  1355.   ==================
  1356.  
  1357.     Added HBBS_FindNode(List,Name), find's a node in the List with an ln_Name field
  1358.     the same as Name, or NULL if not found.
  1359.  
  1360.     Added HBBS_FindNodeNum(List,Name), save as HBBS_FindNode() except it returns the
  1361.     number of the node in the list, or -1 if not found.
  1362.  
  1363.     Updated HBBS_AddUser()
  1364.  
  1365.       creates directories called HBBS:System/Data/Users/<userid> and
  1366.       one called HBBS:Mail/Users/<userid> when a new user is added.
  1367.  
  1368.       it also SetComment()'s the directories with the user's handle etc.. (try creating a user
  1369.       and typing in this command to a shell window.
  1370.  
  1371.        LIST HBBS:System/Data/Users/#? lformat "UserID: %n, Created: %d, %c"
  1372.  
  1373.   Account Edit
  1374.   ============
  1375.  
  1376.     Changed this so you can change the users setting for the ConfAccess file
  1377.     note: set the setting to just the name of the file without the .CFG and without
  1378.     the full path, and the file *MUST* exist at the moment as more extensive error checking
  1379.     still needs to be written for this feature..  e.g.  "Normal Dood"
  1380.  
  1381.     see HBBS:System/Data/ConfAcs/#?.CFG
  1382.  
  1383. 14-06-1996
  1384. ==========
  1385.  
  1386.   I have done work since 30-05-1996, but just not documented it...  Anyway...
  1387.  
  1388.                                **** IMPORTANT ****
  1389.  
  1390.     UserData format has changed so userdata created with HydraBBS A8 or
  1391.     earlier will not work, if you want to convert it then write your own program!
  1392.     Sorry, I do not have time..  to see what's changed just check out the
  1393.     structures.h files and see whats different...
  1394.  
  1395.  
  1396. 30-05-1996
  1397. ==========
  1398.  
  1399.   Reminder!
  1400.   =========
  1401.  
  1402.     when using GetLine, you can use the flag GL_NOOLM so that your door does
  1403.     not get interupted by OLM's...
  1404.  
  1405.   HBBSCommon.c/strings.h
  1406.   ======================
  1407.  
  1408.     changed CtrlScrn in str_CONSOLE to @S@ and made RunDosCMD change all @S@'s
  1409.     to the current public screen name..
  1410.  
  1411.   LogExtractor (in HBBS:Utils)
  1412.   ============================
  1413.  
  1414.     Started work on this cool utility, that, when finished, will extract
  1415.     all data about a particular user from log files from one or more nodes
  1416.     and write it to a file (which can then be displayed by the program, or at
  1417.     a later date by the user.)
  1418.  
  1419.     It has the abilty to go back only a certain amount of days too..
  1420.  
  1421.     Oh, and it's all GUI based too.. (CLI Options coming soon, makes a great
  1422.     sysop door too! (e.g. USRINFO Hydra 20 to show Hydra's bbs usage in the
  1423.     last 20 days!)
  1424.  
  1425. 29-05-1996
  1426. ==========
  1427.  
  1428.   GoldED Sucks... Back to TTX!
  1429.  
  1430.   Structures.h
  1431.   ============
  1432.  
  1433.     removed a few unused items and moved a few things around, also added
  1434.     ScreenInfoData structure and changed NodeUser..
  1435.  
  1436.     mtype_ASK is not used and has been removed from all source...
  1437.  
  1438.   Control
  1439.   =======
  1440.  
  1441.     Still changing it so that you can open HBBS on a public screen...
  1442.     (lots of work involved in doing this by the way, so I hope you are grateful)
  1443.  
  1444.     IMPORTANT!!
  1445.     ===========
  1446.  
  1447.       You must not ever try to LockPubScreen("CtrlScrn") anymore, instead use
  1448.       LockPubScreen(BBSGlobal->ScreenInfo.PubScreenName);
  1449.  
  1450.       if you are not opening the hbbs libraries (therefore mnot getting BBSGlobal)
  1451.       then check out the environment variable ENV:HBBS_ScreenName
  1452.  
  1453.     control, the nodes and all the doors have been re-compiled using the
  1454.     new/updated structures.h file.
  1455.  
  1456. 24-05-1996
  1457. ==========
  1458.  
  1459.   Oh well, the alpha won't be ready for tomorrow anyway. doh.. :-)
  1460.  
  1461.   New text editor!  I'm now using GoldED 3.x as my text editor as TurboText,
  1462.   reqtools/reqpatch and my New Cybervision64 GFX card don't get along very well..
  1463.  
  1464.   All the icons will eventually change to using GoldED:GoldED instead of TTX as the
  1465.   default tool.
  1466.  
  1467.   Node
  1468.   ====
  1469.  
  1470.   fixed the small line editing bug. cursor left was deleting the entire line
  1471.   instead of moving one char left.
  1472.  
  1473. 16-05-1996
  1474. ==========
  1475.  
  1476.   Crikey, that's a big gap...  Not been doing HBBS recently cos I've discovered
  1477.   London Nightlife! :-) hehee...
  1478.  
  1479.   Anyway, hopefully thing's will be back in full swing now.
  1480.  
  1481.   I'm going to concentrate on getting HBBS working as a BBS system and will have to
  1482.   leave alot of my really cool ideas for a later release, I just want to get to V1.0
  1483.   as quickly as possible.
  1484.  
  1485.   Next full alpha release will be on the 25th of May 1996..
  1486.  
  1487.   Mail_Write
  1488.   ----------
  1489.  
  1490.     (and all other mail programs) Now reads Mail.CFG from the HBBS:doors/Mail
  1491.     directory, this only has two settings at the moment and these are to remove
  1492.     remove access to internet and fidonet mail options as I don't have time to write
  1493.     them yet.
  1494.  
  1495.  
  1496. 29-02-1996
  1497. ==========
  1498.  
  1499.   Wow, a whole month to the day without doing a single bit of work on HBBS :-(
  1500.  
  1501.   I've not been able to do any work due to me relocating to london for my new job
  1502.   so sorry for no updates...
  1503.  
  1504.   Mail_Write
  1505.   ----------
  1506.  
  1507.     asks if you are sure you want to abort a message
  1508.  
  1509. 31-01-1996
  1510. ==========
  1511.  
  1512.   Free at last, well my current job has finished today, but I've got an interview
  1513.   for another one tomorrow. hope that goes well.. Anyway, yesterday I got my
  1514.   Apollo 4060 '060 Accellerator and it only half worked so it's gone back to the
  1515.   shop I bought it from for replacement.  Basically it only worked intermittently
  1516.   and the scsi-2 and the fastram did not work either.. Great...  But when it was
  1517.   working for about 5 mins I tried HBBS on it and it was mindblowingly fast,  I've
  1518.   never seen a 256 col 1024x768 screen scroll text so fast :-) hehe.,..
  1519.  
  1520.   for those that do not know my e-mail address has changed now, it is:
  1521.  
  1522.     dominicc@dircon.co.uk  (note the 2 c's in dominicc)
  1523.  
  1524.   feel free to e-mail me about *ANYTHING*....
  1525.  
  1526.   FrontEnd
  1527.   ========
  1528.  
  1529.     added 2 new config options and changed the other option.. (so all config options
  1530.     are new from now...)  they are:
  1531.  
  1532.       HandleToShortStr - displayed to a user when the handle they tried to use is too short
  1533.       InvalidHandleStr - displayed when a handle contains wildcards, ()'s ,'s or ;'s
  1534.       HangupCommand    - what the user must type to log-off (defaults to "BYE")
  1535.  
  1536. 25-01-1996
  1537. ==========
  1538.  
  1539.   Bollox, living in the UK sucks sometimes..  My fucking CarTax has run out
  1540.   and so has my fucking MOT so I gotta spend loads of money on my BMW 316
  1541.   so I can actually legally drive the fucking thing... BASTARD Governments..
  1542.  
  1543.   AAnnnnyyway.. back to hbbs..
  1544.  
  1545.   FrontEnd
  1546.   ========
  1547.  
  1548.     Has a config file which contains some strings, e.g. BadHandle, see
  1549.     HBBS:Doors/System/Frontend/FrontEnd.CFG
  1550.  
  1551.   AskDLFiles
  1552.   ==========
  1553.  
  1554.     Fixed a minor(!!) bug in that if a user had gone over their limit it would
  1555.     still let them D/L files.. OOops! :-)
  1556.  
  1557.   Node_input.c Node_Misc.c HBBSCommon.c
  1558.   =====================================
  1559.  
  1560.     Changed a bit more so that text/screen output is faster still...
  1561.     it's still pretty slow, the thing that's holding it down is the routines
  1562.     used to conver the @^@ commands to text.. if you use the ? command from
  1563.     the file lister you'll see that it's blisteringly fast. but if use the 'S'
  1564.     door you'll see that it's a bit slow... (but still fast enough for mere
  1565.     mortals..)
  1566.  
  1567.     I can do the following to speed it up:
  1568.  
  1569.       queue DOOR_WriteTexts() and return control back to the door immediately
  1570.       (but to do this I'd have to take a copy of the data they pass to the BBS
  1571.       which would slow it down again, argh, I can't win..)
  1572.  
  1573.       use buffered/async IO on the screen files
  1574.  
  1575.       erm... any suggestions... (apart from code it in ASM :-)
  1576.  
  1577. 24-01-1996
  1578. ==========
  1579.  
  1580.   FileLister
  1581.   ==========
  1582.  
  1583.     fixed a rather serious bug in that it crashed the machine if a file id had
  1584.     a long line of text in it...
  1585.  
  1586.   HBBSCommon/HBBSNode
  1587.   ===================
  1588.  
  1589.     speeded up some routiens so that it outputs text/ansi faster...
  1590.  
  1591.  
  1592.   Node (NodeMisc.c)
  1593.   =================
  1594.  
  1595.     re-wrote alot of the code used to display screens (to make it faster!!)
  1596.     you now DON'T need to start HBBS screen files with @^@ anymore...
  1597.     (tho this may change in the future if I recode it..  the @^@'s are just
  1598.     skipped now..
  1599.  
  1600. 23-01-1996
  1601. ==========
  1602.  
  1603.   Sorry!
  1604.   ======
  1605.  
  1606.   Note really had much chance do do stuff on HydraBBS for a a couple of weeks
  1607.   due to me getting a) an internet account and learning how to setup/use
  1608.   amitcp (which is coool)  b) getting a CyberVision 64 GFX card c) buying an
  1609.   Apollo 4060 68060 50Mhz Accellerator for my A4000 so that I can compile
  1610.   stuff using SAS/C a hell of a lot quicker, d) getting about 10 new PS-X
  1611.   games :-) and a couple of saturn ones too! e) buying a mobile phone and f)
  1612.   getting 4 new hard disks and re-organizing all of my 3 amiga's with new
  1613.   setup's, latest software etc...
  1614.  
  1615.   Annnnyway.. back to HBBS..
  1616.   --------------------------
  1617.  
  1618.   LastCallers
  1619.   -----------
  1620.  
  1621.     Fixed a few bugs in this handy util that were caused when do didn't have
  1622.     all the parameters (or didn't have optional ones, thanks to Radiosity for
  1623.     pointing this out..)
  1624.  
  1625. 5/6/7-01-1996
  1626. =============
  1627.  
  1628.   Loads of stuff, configurable prompts now done, check out
  1629.   HBBS:System/Data/BBSColours.CFG
  1630.   HBBS:Nodes/NodeX/BBSColours.CFG
  1631.   HBBS:Conferences/<ConfName>/BBSColours.CFG
  1632.  
  1633.   I've done sooo much these last 3 days that I forgot to write in this file and
  1634.   now I can't remember what I've been doing apart from doing a bit more
  1635.   no the fr and olm doors...  added a BBSGlobal->CallsEver (kinda handy..)
  1636.   this will be loaded/saved from the HBBS:System/Data/Private file when i implement
  1637.   it's usage..
  1638.  
  1639.   oh yeah, and I added a Flags parameter to the loadconfig so just add
  1640.   ,LCFG_NONE to all your current calles to it, check out defines.h to see what's what..
  1641.   (they were primally added so i could read ansi strings from a file into a config
  1642.   item, at the mo ;'s are used to denote comments, I'll have to change that
  1643.   to something else soon..)
  1644.  
  1645. 04-01-1996
  1646. ==========
  1647.  
  1648.   HBBSCommon.library
  1649.   ==================
  1650.  
  1651.                       =====================================
  1652.                       I T ' S   C H A L L E N G E   T I M E
  1653.                       =====================================
  1654.  
  1655.   I can't for the life of me figure out why the bloody hell my new version
  1656.   of HBBS_LoadConfig() causes the control program to hand the machine when
  1657.   it loads the HBBS:System/Protocols file.  The new version of HBBS_LoadConfig()
  1658.   is currently commented out, and the old one is still in use (although it
  1659.   has several bugs fixed..)  just change the comments round, re-compile
  1660.   and see what I mean...
  1661.  
  1662.   I've tried allsorts to see what's happening but to no avail, everything
  1663.   seems normal! Argh.. I hate bugs like this...
  1664.  
  1665.   Sooo, if you fix this bug then I'll give you a nice crispy 5 pound note!
  1666.   (if you are not from the UK then, erm, well I'll write you a custom door
  1667.   or sommat...)
  1668.  
  1669.   Node
  1670.   ====
  1671.  
  1672.     Implemented the NFLG_CTRLC flag, if a users presses ctrl+c during a getline()
  1673.     then the NFLG_CTRLC bit will be set in N_ND->NodeFlags
  1674.  
  1675.     Added The variables needed to implement OLM's, checkout
  1676.  
  1677.     N_ND->OLMCount and N_ND->OLMList and struct OLMNode in structures.h
  1678.     and NFLG_OLMSWAITING in defines.h.. to add an OLMNode to the OLMList
  1679.     call HBBSNode.library's HBBS_AddOLM() function (see HBBSNode.c)
  1680.  
  1681.     there's also a few more NFLG's to look at.
  1682.  
  1683.     also note the new GetLine flag, GL_NOOLMS
  1684.  
  1685.   HBBSCommon.library
  1686.   ==================
  1687.  
  1688.     Added the function HBBS_SendOLM()
  1689.     very easy to use and works a treat too!, for an example check out ReadOLM
  1690.     and the OnlineMessage (OLM) doors..
  1691.  
  1692.   OnlineMessage
  1693.   =============
  1694.  
  1695.     created door, installed as OLM
  1696.  
  1697.     this door sends messages to other nodes.
  1698.  
  1699.   ReadOLM
  1700.   =======
  1701.  
  1702.     created this SYSTEM door, it's called when the user is at a getline prompt
  1703.     automatically, it displays all the queued OLM's one by one and lets the user
  1704.     reply to them if they came from another node..  If you send a message from an
  1705.     external program you must make sure that you set up the olm so that the user
  1706.     cannot reply to it! :-) hehe..
  1707.  
  1708.   SendOLM
  1709.   =======
  1710.  
  1711.     this is a rather handy AmigaDOS CLI program to send OLM's to nodes, note:
  1712.     this is NOT a door!!!   Man HBBS is cool..  do that with /X !
  1713.  
  1714. 03-01-1996
  1715. ==========
  1716.  
  1717.   MailScan and MailRead
  1718.   =====================
  1719.  
  1720.     Wow, this is cool now..  I've finally finished off the new mail scanning
  1721.     part of this door. (apart from the mark as read option)
  1722.  
  1723.     prior to this version if you scanned mail, but only read a few of the
  1724.     mail messages the ones that you didn't read would not appear in the next
  1725.     mailscan, they do now! (Check Out HBBS:Mail/Users/<UserID>/UnreadList.CFG)
  1726.  
  1727.  
  1728.   HBBSCommon.library  -> READ THIS!
  1729.   ==================
  1730.  
  1731.     really optimized and bug fixed HBBS_LoadConfig() and HBBS_LoadFile()
  1732.     you should find that the whole bbs now speeds up dramatically!!
  1733.  
  1734.  
  1735.   ReLogin
  1736.   =======
  1737.  
  1738.     Created Relogin door, installed as command RL for users with access of 50
  1739.     or over.
  1740.  
  1741.     And yes, the logoff scripts (see below) do get called if you use
  1742.     this command! (Unlike /X where you had to logoff and call back if you
  1743.     wanted to see updated bulletins that only updated when the logoff script
  1744.     was called)
  1745.  
  1746.   Node
  1747.   ====
  1748.     Logoff scripts are now implemented, when a user logs off the following
  1749.     AmigaDOS scripts are executed (S flag need not be set, they are run via the
  1750.     dos C:Execute Command)
  1751.  
  1752.     HBBS:Scripts/LogOff<nodenum>.script
  1753.     HBBS:Scripts/GlobalLogOff.script
  1754.  
  1755.     both scripts are started with the following parameters
  1756.  
  1757.     <nodenum> <userid>
  1758.  
  1759.     if you want to access the users handle from your logoff scripts then use
  1760.     the environment variable "HNode<nodenum>User"    e.g. use $HNode1User for
  1761.     the name of the user on node 1..
  1762.  
  1763.     the reason usernames/handles are not passes as parameters is that they MAY
  1764.     have spaces in the filenames...
  1765.  
  1766.     also note the environment variable "HNode<nodenum>LoginType"
  1767.  
  1768.     see HBBS:Scripts/GlobalLogoff.script for an example!
  1769.  
  1770.   Docs
  1771.   ====
  1772.  
  1773.     updated the following doc files a bit
  1774.  
  1775.     HBBS:Docs/Misc/GUI.guide
  1776.     HBBS:Docs/Misc/Directories.guide
  1777.     HBBS:HBBS.Guide
  1778.  
  1779.   AddDIZToList
  1780.   ============
  1781.  
  1782.     added a parameter check and writes to callers log if it has a problem..
  1783.  
  1784. 02-01-1996
  1785. ==========
  1786.  
  1787.   XPR
  1788.   ===
  1789.  
  1790.    you can now resume files that you started to upload but either cancelled
  1791.    or lost carrier..
  1792.  
  1793.    uploaded files are stored as <Conf-PartUpload>/<FileName>@<UserID>
  1794.  
  1795.    e.g.  HBBS:Conferences/Amiga/PartUpload/BANANA.LHA@1
  1796.  
  1797.    you must however set the xpr protocol options so that it allows
  1798.    resuming of files..  (E.G. Include "OR" in the protocol options, see
  1799.    the new updated HBBS:System/Protocols file...)
  1800.  
  1801.   FileLister
  1802.   ==========
  1803.  
  1804.    Woooooooooooooooooooooo, well quick now...  rewrote my FGetsR() routine
  1805.    to be mucho quickero.. :-)  FGetsR() just reads lines from a file starting
  1806.    from the current position and working backwards instead of forwards like
  1807.    the dos FGets(), hence the 'R' in the function name standing for Reverse..
  1808.    I'll be putting this *COOL* function in the library soon!
  1809.  
  1810.    Also responds to a user handing up while browsing a filelist now..
  1811.  
  1812.    added an H parameter so that you can scan the "holdlist" file of the conf you
  1813.    are in (Sysop's only..)  works with all modes (FR,N and F) so N -2 H is cool!
  1814.  
  1815.    updated ansi when flagging files.
  1816.  
  1817.    does not clear screen at end of file anymore.
  1818.  
  1819.   View
  1820.   ====
  1821.  
  1822.    fixed bugs and added sysop mode
  1823.  
  1824.   Zippy
  1825.   =====
  1826.  
  1827.    same bug as filelist with the not checking for lost carrier..
  1828.    fixed. also updated ansi when flagging files
  1829.  
  1830.    does not clear screen at end of file anymore..
  1831.  
  1832. 01-01-1996
  1833. ==========
  1834.  
  1835.   H A P P Y   N E W   Y E A R !
  1836.  
  1837.  
  1838.   Man my neck hurts.... And I can't remember why, alcohol roolz..
  1839.  
  1840.   FileLister
  1841.   ==========
  1842.  
  1843.     FR WORKS NOW!!
  1844.  
  1845.     But it's realllllllly slow as I just did a real quick'n'easy way
  1846.     of reading the file backwards..  It'll be speedier sooon.
  1847.  
  1848.   XPR
  1849.   ===
  1850.  
  1851.     now checks other node's playpen dirs for existance of the file
  1852.     that a user is trying to upload (someone else might already be uploading it..)
  1853.  
  1854.   Pager
  1855.   =====
  1856.  
  1857.     created door, installed as O command at the bbs prompt
  1858.  
  1859.     it uses 3 4 new screens that should be placed in a screens/special dir..
  1860.  
  1861.     Page.TXT        - displayed before the page reason prompt
  1862.     Paged.TXT       - displayed when a sysop has been paged
  1863.     PageNoSysop.TXT - for when the chatflag is off
  1864.     PageCancel.TXT  - for when a user cancels a page
  1865.  
  1866.   LinesPerScreen
  1867.   ==============
  1868.  
  1869.     created door. 100% cool and rather easy to create..
  1870.     installed as LPS at the bbs prompt, or accessable from the W command
  1871.  
  1872.  
  1873. 31-12-1995
  1874. ==========
  1875.  
  1876.   HBBSCommon.library
  1877.   ==================
  1878.  
  1879.     changed so that will read and keep config items with blank strings..
  1880.  
  1881.     e.g.
  1882.  
  1883.     Door_Options=
  1884.  
  1885.     needed this for the UserSettings door...
  1886.  
  1887.   Control
  1888.   =======
  1889.  
  1890.     updated gui (again)
  1891.  
  1892.   Node
  1893.   ====
  1894.  
  1895.     made it use HBBS.font on the screen title as well..
  1896.  
  1897.  
  1898.   SelectLanguage
  1899.   ==============
  1900.  
  1901.     updated program, much cooler now..
  1902.  
  1903. 30-12-1995
  1904. ==========
  1905.  
  1906.   Done loads more on the XPR door, moves cancelled files to PartUpload etc..
  1907.   and some other bits and bobs..
  1908.  
  1909.   Control/Node
  1910.   ============
  1911.  
  1912.     changed all LCFiles references to PartUpload as LCFiles will not be used..
  1913.  
  1914.     CHANGE YOUR CONFERENCE CONFIGS!
  1915.  
  1916.   MoveFile
  1917.   ========
  1918.  
  1919.     now accepts a NOUSER parameter, if specified it will not display anything
  1920.     on the screen
  1921.  
  1922.  
  1923.  
  1924. 29-12-1995
  1925. ==========
  1926.  
  1927.   anyway, I'm tired now and want to go to sleep.. to many l8 nights coding away
  1928.   on this...  It can't be good for me..
  1929.  
  1930.   Mind you, I saw ace venture 2 today and that was quite a good film..
  1931.  
  1932.   XPR
  1933.   ===
  1934.     re-wrote most of the XPR door, it now does things much better are more structured
  1935.     and doesn't guess at strings to figure out of files have been transferred ok!
  1936.     :-)
  1937.  
  1938.     it now builds a linked list of files transferred (one for ul's and one for dl's)
  1939.     and checks them at the end to find out what's what..
  1940.  
  1941.   MailReply
  1942.   =========
  1943.  
  1944.     Fixed a (small) bug in this door that caused it to crash on my A3000, but not
  1945.     on my 2 other computers making it a pain to track down...
  1946.     turns out I was going strcpy(Msg->To,Msg->From) instead of
  1947.     FreeAndSet(&Msg->To,Msg->From)...  caused memorylist corruption..
  1948.  
  1949.  
  1950.  
  1951. 28-12-1995
  1952. ==========
  1953.  
  1954.   did sod all on HBBS today, first time for ages.. :-)
  1955.  
  1956. 27-12-1995
  1957. ==========
  1958.  
  1959.   didn't do much today, tiedied a couple of bits and bobs up here and there
  1960.   did a bit more on the mail and xpr doors..
  1961.  
  1962.   the caller and calls today on each node's "Info" window now work
  1963.   100%, but I have got to make it read in the callers log so that it shows
  1964.   who the last few callers were when you close and node and then restart it..
  1965.  
  1966.  
  1967.  
  1968. 26-12-1995
  1969. ==========
  1970.  
  1971.   Had a bit of a bugfixing day today..
  1972.  
  1973.   UserSettings
  1974.   ============
  1975.  
  1976.     This door is set up as "W" at the bbs prompt..
  1977.  
  1978.     Man, is this door cool..
  1979.  
  1980.     with /X you could either get the W command to bring up internal /X
  1981.     settings config program, or you could make it display a menu of what
  1982.     you wanted to change (i.e. AquaSettings)
  1983.  
  1984.     But with this COOL command you can specify what all the options
  1985.     on one screen!
  1986.  
  1987.     Check out HBBS:Doors/User/UserSettings/UserSettings.CFG.
  1988.  
  1989.   Icons
  1990.   =====
  1991.  
  1992.     updated all the .info files to cool magic WB one..
  1993.  
  1994.   Control
  1995.   =======
  1996.     fixed a few memory leaks
  1997.     updated it to use some new library routines
  1998.  
  1999.     added a new parameter to BBSGlobal, CopyBufferSize (see docs)
  2000.  
  2001.   HBBSNode.library
  2002.   ================
  2003.  
  2004.     added HBBS_AddToCallersLog(string), rather handy, it writes the date and
  2005.     time automatically too..
  2006.  
  2007.   Node
  2008.   ====
  2009.  
  2010.     Made it write to the callers log..
  2011.     need some options to make it ignore local logins etc.. tho.
  2012.  
  2013.   HBBSCommon.library
  2014.   ==================
  2015.  
  2016.     addd more routines, changed a few more, added (even) more error checking
  2017.     to some routines that deal with mem [de]allocation.
  2018.  
  2019.   Docs
  2020.   ====
  2021.     updated the BBSGlobal.guide file..
  2022.  
  2023. 25-12-1005
  2024. ==========
  2025.  
  2026.   Yes, I was programming HBBS on christmas day, well it was better than sitting down
  2027.   stairs with the parents watching the fucking queen's speech.  It was much more fun
  2028.   sitting upstairs listening to a bit of "Green Day", "Offspring", "Speedy J" and
  2029.   many other cool artists!
  2030.  
  2031.   XPR
  2032.   ===
  2033.  
  2034.     fuck.. actually it still doesn't work :-( Doh.. I could have sworn it was
  2035.     working yesterday 100%, but no you still get timeout errors when it writes
  2036.     to the disk :-(  Not fixed it yet tho..
  2037.  
  2038.   FileList
  2039.   ========
  2040.  
  2041.     Man, is this door cool!  F and N work 100% pure coolness..
  2042.  
  2043.   Zippy Search
  2044.   ============
  2045.  
  2046.     well, my brother wrote this rather nice door. most of the code was nicked from
  2047.     my own doors tho :-) hehe
  2048.  
  2049.  
  2050.   Tag File
  2051.   ========
  2052.  
  2053.     Prints CR's after files that have not been found now..
  2054.  
  2055.  
  2056.   AccountEditor
  2057.   =============
  2058.  
  2059.     this is working better now..  It also tells the user at the other end
  2060.     that the sysop is editing your account details..
  2061.  
  2062.     It also reloads the access levels in when you quit it..
  2063.  
  2064.   JoinConference
  2065.   ==============
  2066.  
  2067.     added another system option to it, "REJOIN" and have set up a command
  2068.     called RJ so you can rejoin a conference if you wish to see bulletins, etc..
  2069.  
  2070.     --> requested by Cruise!
  2071.  
  2072.   HBBSCommon.library
  2073.   ==================
  2074.  
  2075.     added lots of routins for converting between dates and back to strings..
  2076.     see the FileList door for examples!
  2077.  
  2078.   CheckFiles
  2079.   ==========
  2080.  
  2081.     now checks names of uploaded files (can't start with a '.' and can't be more
  2082.     than 12 chars long.. if they are it'll prompt you..
  2083.  
  2084. 24-12-1995
  2085. ==========
  2086.  
  2087.   XPR
  2088.   ===
  2089.  
  2090.     yeah, it's working, and without buffered io, (but I'll still implement this..)
  2091.  
  2092.     I'm using zprzmodem.library 3.0 and USRSerial.device and it works a treat!
  2093.  
  2094.   Node
  2095.   ====
  2096.  
  2097.     screen/window information is now saved in <NodeLocation>/Screen.CFG rather
  2098.     than HBBS:System/Data/Node<num>_Private.CFG
  2099.  
  2100.     that way, if you delete a node, you delete it's associated data files too
  2101.  
  2102. 23-12-1995
  2103. ==========
  2104.  
  2105.   XPR
  2106.   ===
  2107.  
  2108.     the words AAAAAAAAAAAAAAAArrrgghhhh! spring to mind when thinking about this
  2109.     F**king door!
  2110.  
  2111.     it sends files fine, but can I get it to fucking receive files ? Can i FUCK as
  2112.     like..  it all seems to boil down to the xpr_fwrite() function..
  2113.  
  2114.     if i make it return(Size * Count) then you don't get *any* timeouts or anything
  2115.     even when the CPU's loaded!  but if I make it
  2116.     return(Write(FileBuf->FH,Buffer,Size*Count)); then it just makes xpr_sread()
  2117.     timeout!!
  2118.  
  2119.     Argh!
  2120.  
  2121.     So I'm going to have to nick some buffered/async disk IO routines from
  2122.     somwhere...  the annoying this is that the XPRD program does not have
  2123.     any buffered IO and works fine...
  2124.  
  2125.     Argh!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2126.  
  2127.  
  2128.   HBBSNode.library
  2129.   ================
  2130.  
  2131.     fixed SerWriteStrWithTimeout()
  2132.  
  2133.   Node and Nodes/NodeX/Device
  2134.   ===========================
  2135.  
  2136.     added a config option called NullModemCable, if set to true
  2137.     then you can connect another computer to your computer via
  2138.     a serial port and connect to hbbs from that.. :-) Coooool!
  2139.     to get hbbs to connect, just press return on the other computer!
  2140.  
  2141.  
  2142.   today I've just done sooo much to the bbs, mainly tidying stuff
  2143.   and fixing things!
  2144.  
  2145.  
  2146.  
  2147. 22-12-1995
  2148. ==========
  2149.  
  2150.   changed DOOR_GetLine(), it's not SUPERCOOLFABANDWHIZZO!
  2151.  
  2152.   :-)
  2153.  
  2154. 21-12-1995 (PM)
  2155. ===============
  2156.  
  2157.   XPR
  2158.   ===
  2159.  
  2160.   added GUI and window, updates fine..
  2161.   still have to make it refresh when you un-zoom the window!
  2162.  
  2163.   Node
  2164.   ====
  2165.  
  2166.   Updated GUI, added more buttons on the NodeSettings window
  2167.  
  2168.   implemented N_ND->DoorContinue.
  2169.  
  2170.   HBBSNode.library
  2171.   ================
  2172.  
  2173.     implemented DOOR_Continue() (causes further doors not to run if a door sets this
  2174.     to false)
  2175.  
  2176.   AskDLFiles
  2177.   ==========
  2178.  
  2179.   made it use DOOR_Continue
  2180.  
  2181.   Download
  2182.   ========
  2183.  
  2184.   made it aware of AskDLFiles's DOOR_Return() setting
  2185.  
  2186.   Control
  2187.   =======
  2188.  
  2189.   added EditorCMD to BBSGlobal Config.
  2190.  
  2191.   updated GUI
  2192.  
  2193.  
  2194. 20-12-1995 (PM)
  2195. ===============
  2196.  
  2197.  
  2198.   XPR
  2199.   ===
  2200.  
  2201.     tiedied somemore.  in testing this has hung a few times, more testing required
  2202.  
  2203.   Node
  2204.   ====
  2205.  
  2206.     changed a screen commands, (Ratio is now BRatio) and added FRatio
  2207.     for Bytes Ratio and Files Ratio respectively
  2208.  
  2209.     added a COOL function for creating cool menu prompts..
  2210.     MenuPrompt()
  2211.  
  2212.     fixed a rather silly bug in DisplayScreen()
  2213.  
  2214.       it wasn't unlocking files if there were 0 bytes..  i was trying to unlock
  2215.       and filehandle rather than a filelock (confused vars FL with FH) :-)
  2216.  
  2217.   HBBSNode.library
  2218.   ================
  2219.  
  2220.     added the function DOOR_MenuPrompt()
  2221.  
  2222.       pass it a string with the first letter of your options
  2223.       enclosed in square brackets ( []'s ) and hbbs will auto convert
  2224.       the string to cool colours and print it out for you!
  2225.       you can also pass it a default char so that it causes one option
  2226.       to be printed in bold.
  2227.  
  2228.       e.g.
  2229.  
  2230.       DOOR_MenuPrompt("More [Y]es, [N]o :",'Y');
  2231.  
  2232.       currently everything is printed out in white except the brackets which are
  2233.       printed in yellow, the Y in the example above would be printed in BOLD text
  2234.  
  2235.       this is a cool function for providing a standard menu prompting scheme that
  2236.       can be used through out the bbs.
  2237.  
  2238.       I'll be adding parameters so you can change the colours, don't worry :-)
  2239.  
  2240.   Mail_Write
  2241.   ==========
  2242.  
  2243.   added a stack of options that you can select when you are creating a message
  2244.  
  2245.   also updated the messagebase stuff so that you can set an access level for
  2246.   a message.  started creating a config structure for the mail doors to use.
  2247.   (this way the users can have thier own configuration for all the mail doors
  2248.   to use, it'll be stored as HBBS:mail/users/<id>/mail.cfg.
  2249.  
  2250.   Mail_Scan
  2251.   =========
  2252.  
  2253.     updated to use the access level and door_menuprompt.
  2254.  
  2255.  
  2256. 19-12-1995 (PM) - 20-12-1995 (AM)
  2257. =================================
  2258.  
  2259.   XPR
  2260.   ===
  2261.  
  2262.   **Loads** more work done, it's all set-up and running withing the bbs environment
  2263.   now.  It's interesting to note that term 4.5 comes with xprzmodem.library
  2264.   version 2.58, I had 3.0 and the latest is 3.51.  3.51 causes term and ncomm
  2265.   to software fail when transferring between each other and the nullmodem.device
  2266.   2.58 just sits there and timesout. and 3.0 works fine.. :-)  ut I've got no docs
  2267.   for that version :-(
  2268.  
  2269.   I tried my xpr implementation with a some other xpr libaries, it only worked with
  2270.   znodem and zedzap libs so far..  I have to do more tests.  the otherlibs
  2271.   may require some of the xpr 2.0 extensions, I've only implemented 1.0 so far..
  2272.  
  2273.  
  2274.   Transfer
  2275.   ========
  2276.  
  2277.   Updated to cope with the XPR door
  2278.  
  2279.   SelectProtocol
  2280.   ==============
  2281.  
  2282.   defaults to protocol 1 instead of waiting for user input if they type in some shite
  2283.   the first time they are asked
  2284.  
  2285.   Mail_Scan
  2286.   =========
  2287.  
  2288.   more stuff done
  2289.  
  2290.   HBBSNode.library
  2291.   ================
  2292.  
  2293.   added two more routines,  FindConf() (returns a confdata structure of the users
  2294.   current conf, or if they are not in a conf yet it'll return a confdata structure
  2295.   of the last conference they were in...
  2296.   ValidConfNum() returns true if you pass it a valid conference number (index starts at 1)
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302. 18-12-1995
  2303. ==========
  2304.  
  2305.   YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS!
  2306.  
  2307.   Finally
  2308.  
  2309.   At Last!
  2310.  
  2311.   Whay!!
  2312.  
  2313.   (if you couldn't tell, I'm Excited!)
  2314.  
  2315.   XPR
  2316.   ===
  2317.  
  2318.     Implemented!
  2319.  
  2320.  
  2321. 17-12-1995
  2322. ==========
  2323.  
  2324.   Fuck!  It's amazing how much work I've done over the last few days! :-)
  2325.  
  2326.   HBBSCommon.library
  2327.   ==================
  2328.  
  2329.     fixed a COOL bug in the AssignOK() routine
  2330.     in that say you had a HD with a volume name of "A3000_DH0:", it's device name
  2331.     being "DH0:" and you set a (say) upload path to somewhere on DH0:
  2332.     AssignOK() would incorrectly return FALSE!   Oops!
  2333.  
  2334.  
  2335.   CLIProtocol
  2336.   ===========
  2337.  
  2338.     correctly returns errorlevel of door in N_ND->DoorReturn
  2339.  
  2340.   Transfer
  2341.   ========
  2342.  
  2343.     deducts creds for files for that are downloaded successfully
  2344.  
  2345.   Node
  2346.   ====
  2347.  
  2348.     Loads moe stuff changed, fixed and updated
  2349.  
  2350.   Control
  2351.   =======
  2352.  
  2353.     ditto
  2354.  
  2355.   Mail_Scan
  2356.   =========
  2357.  
  2358.     even more work done,  this door is all but finished, implemented
  2359.     the mailscan lastread pointers (saved in HBBS:Mail/Users/<UserID>/MailScan.CFG)
  2360.  
  2361.     now supports a 'M' for mark as read, so you don't have to sit through
  2362.     millions of useless old mail the sysops seem to leave around
  2363.     (not that they will with HBBS, because messages can be set to expire! :-)
  2364.  
  2365.  
  2366.   Mail_Read
  2367.   =========
  2368.  
  2369.     supports reading a list of mail messages, the list is created with
  2370.     CreateMsgList() and then saved using SaveMsgList()
  2371.     Mail_Read then read this list back in again and will let you read all
  2372.     the messages in the list.
  2373.  
  2374.     this is a really amazing feature, because you can then write another door
  2375.     to search the mail database for keywords, and build up a list of messages that
  2376.     you can then pass to Mail_Read which then let you read them!
  2377.  
  2378.     COOOOL or what ?
  2379.  
  2380.   Mail_Write
  2381.   ==========
  2382.  
  2383.     more work done, still needs a bit doing to it (you can't attach files yet!)
  2384.  
  2385.   CheckTags
  2386.   =========
  2387.  
  2388.     changed to cope with the new updated Tag_File door (below)
  2389.     also changed the ansi and it looks much nicer now!
  2390.  
  2391.   Tag_File
  2392.   ========
  2393.  
  2394.     actually checks for the existance of files now... :-)
  2395.  
  2396.   AskDLFiles
  2397.   ==========
  2398.  
  2399.     door (re)created fromm scratch, it works fine, needs more work
  2400.     doing to it,  it's just functional now.. :-)
  2401.  
  2402.     (mind you, it looks pretty tho :-)
  2403.  
  2404.  
  2405. 16-12-1995
  2406. ==========
  2407.  
  2408.   Node
  2409.   ====
  2410.  
  2411.     Added CLS,PAUSE,ECHO and DOS as door types! :-)
  2412.  
  2413.     (for CLS to work, the _door option must also be set to CLS)
  2414.  
  2415.  
  2416.   Mail_Scan
  2417.   =========
  2418.  
  2419.     Scans for ALL and EVERYBODY messages too
  2420.  
  2421.   Mail_Reply
  2422.   ==========
  2423.  
  2424.     created door, works ok!
  2425.  
  2426.   Editor
  2427.   ======
  2428.  
  2429.     now appends to existing files is the LOAD parameter is specified
  2430.  
  2431.   FrontEnd
  2432.   ========
  2433.  
  2434.     won't allow users access who's accounts have been disabled
  2435.     (status of 'L', for login's denied)
  2436.  
  2437. 15-12-1995
  2438. ==========
  2439.  
  2440.   FrontEnd
  2441.   ========
  2442.  
  2443.     Automatically logs in the a new user if the newuser door created an
  2444.     new account ok.
  2445.  
  2446.   NewUser
  2447.   =======
  2448.  
  2449.     Revamped slightly.
  2450.  
  2451.   Mail_Read
  2452.   =========
  2453.  
  2454.     added a continue prompt on long messages
  2455.  
  2456.     can delete mail now
  2457.  
  2458.   HBBSNode.library
  2459.   ================
  2460.  
  2461.     Added a DOOR_ContinuePrompt() routine
  2462.  
  2463.  
  2464.  
  2465.  
  2466. 14-12-1995 (PM)
  2467. ===============
  2468.  
  2469.   MailRead
  2470.   ========
  2471.  
  2472.     Very quick version done.  Cannot be called from the R command yet,
  2473.     only the mail scanner can use it so far..
  2474.  
  2475. 13-12-1995 (PM) - 14-12-1995 (AM)
  2476. =================================
  2477.  
  2478.   Today has been a bit of a tidy-up day with lots of little (but important) things
  2479.   being done.
  2480.  
  2481.  
  2482.   Access Commands have been implemented (but only 10 access settings are loaded,
  2483.   of which only one is used (see the Status door and access command "AllowStatus")
  2484.  
  2485.   Check out HBBS:Access/#?, <node>/Access/#?, <conf>/Access/#?.
  2486.  
  2487.   access data is updated when you a) login and b) change conference.
  2488.  
  2489.   This is actually a major thing beleive it or not...  I'm surprised I've only just
  2490.   had to code it now...
  2491.  
  2492.  
  2493.   Also added a few new routines to both the libs (HBBSCommon and HBBSNode)
  2494.  
  2495.   hbbs also sets an env: variable called HNode<nodenum>User to the name of the person
  2496.   who's currently logged in.  if no-one is logged in the variable will not be present
  2497.  
  2498.   the cool logoff screen is created using scripts and cli programs, see
  2499.   HBBS:Screens/Special/Logoff.txt
  2500.   HBBS:System/Amiga/CLI/ByeScript
  2501.   HBBS:System/Amiga/CLI/Figlet/#? (figlet just converts ascii text to large
  2502.                                    fonts made of ascii letters)
  2503.  
  2504.   Isn't hbbs wonderfull ?? :-)
  2505.  
  2506.   Node
  2507.   ====
  2508.  
  2509.   F6 and SHIFT+F6 work now!
  2510.  
  2511.   AccountEdit
  2512.   ===========
  2513.  
  2514.     Right then,  I've created this (smallish) and very unfinished door
  2515.     so that you can modify accounts by pressing F6 when a user is logged in.
  2516.  
  2517.     you can also run this from the command prompt, I've set it up so only users
  2518.     with an access level of 255 can do this.  to run it just type "Accounts"
  2519.     at the prompt
  2520.  
  2521.  
  2522.  
  2523. 12-12-1995 (PM) - 13-12-1995 (AM)
  2524. =================================
  2525.  
  2526.   DAMN I'M COOL....
  2527.  
  2528.   Mailscan
  2529.   ========
  2530.  
  2531.     Works a treat, implemented the little promptso you can call the "mailread"
  2532.     door now.  it seems to be working 100%, even has nice special ANSI effects!
  2533.  
  2534.   MailWrite
  2535.   =========
  2536.  
  2537.     Whay hey hey!  Now we're cooking!  This door has come along in leaps and
  2538.     bounds this evening..  It now writes mail to people!  Hehe,  it even handles
  2539.     multiple user mails (e,g, messages with more than one recipient)
  2540.  
  2541.     currently it does not do anything with internet/fideonet messages
  2542.  
  2543.     it does not let you select any flags, or attach files orlots of things actually,
  2544.     but hey, it works..
  2545.  
  2546.     And I love it when doors compile and run first time after you spend 4 hours
  2547.     coding it.. :-)
  2548.  
  2549.  
  2550.     oh, and you can wipe-out all the files in a mail dir and hbbs won't complain,
  2551.     it'll just re-init everything for you automatically..
  2552.  
  2553.  
  2554.   Editor
  2555.   ======
  2556.  
  2557.     it had to happen sooner or later...  A line editor! Yippie!
  2558.  
  2559.  
  2560.     Well, this is in a very early stage at the moment, it took me all of about
  2561.     2 mins to write this one...
  2562.  
  2563.     it's also more of a "creator" that "editor" at the moment too :-)
  2564.  
  2565.   p.s.  did you noticate that I've not started the "readMail" door yet :-)
  2566.  
  2567. 7-12-1995
  2568. =========
  2569.  
  2570.   Bollox... Life still sucks, aquafresh is sitting here next to me playing
  2571.   Sega Rally on my saturn, and he's quite shit at it :-) hehe..
  2572.  
  2573.   Anyway, erm..
  2574.  
  2575.   MailScan
  2576.   ========
  2577.  
  2578.     Done more work, it's coming along quite nicely (still)
  2579.  
  2580.  
  2581.  
  2582. 6-12-1995
  2583. =========
  2584.  
  2585.   Well, life's still fucked today.  The new fucking stereo for the car's
  2586.   gonna cost 300 quid, i need a new fucking head gasket for the engine, at
  2587.   another 300 quid.  Then I need to replace a camera at 35 quid, and a
  2588.   personal stereo at 50 quid, followed by a new thermostat for the car at
  2589.   20 quid followed by a new stereo surround for the car at 40 quid and 100
  2590.   fucking quid for a new window in the car.
  2591.  
  2592.   FUCK
  2593.  
  2594.   Anyway...
  2595.  
  2596.  
  2597. 5-12-1995 - The (Extremely) Bad Day
  2598. ===================================
  2599.  
  2600.         ------------------------------------------------------
  2601.         Warning - This Section May Cause Viewers Some Distress
  2602.         ------------------------------------------------------
  2603.  
  2604.   Fuck Fuck Fuck Fuck Fuck Fuck Fuck, how bad can my life fucking get..
  2605.   My car was broken into tonight, and I've just had the window broken,
  2606.   £300 quids worth of car CD player, 2 cameras and my personal stereo
  2607.   all fucking nicked.  If I catch the bastard who did it I'm gonna rip
  2608.   his fucking head off, shove a 20000 volt mains cable up his ass and drop
  2609.   a bloody piano on his bollox.
  2610.  
  2611.   Today started badly when I noticed that a collar button had fallen
  2612.   off my shirt.  Checked the mail, "Argh!"  A letter from the bank saying
  2613.   "Please pay in 762 pounds into your account within the next 10 days",
  2614.   "Great" I thought. When I got to work ten mins late, all the fucking
  2615.   users rang me up saying "I can't get into vista" because the supposed
  2616.   "patch" from DEC had made the VT320 emulator even WORSE, then I couldn't
  2617.   send a fucking fax from the fax machine as it would not do 40 page faxes,
  2618.   the paper just jammed.  So I tried using windows 95 on my pc to send a
  2619.   fax via my 28.8k courier and all it says is "Fax Transmission Inturupted",
  2620.   Great Fucking Help that is.  So we try another PC, it then comes up
  2621.   saying "Intermittent memory error" and fucks itself.  So that pissed me
  2622.   off,  then we got a new printer in and we couldn't plug that into the
  2623.   fucking machine it was supposed to plug into as it came with a parallel
  2624.   interface rather than a serial interface.  Then the pathworks license
  2625.   allocator would not fucking work so all these PC's could not map
  2626.   their "E:" drive to the (crap) VAX.  So I had to spend 3 bloody hours
  2627.   fixing that.   Then I came to set up my own spare PC and would the hard
  2628.   disk parition itself ?  Would it fuck as like..  So, i then got another
  2629.   HD slapped that in all fine, copied about 200MB of warez 2 it.  By that
  2630.   time it was about 7:30pm so i thought "I'm off now.."  Went to my car,
  2631.   noticed the light in the glove box was on and I thought to myself "I'm
  2632.   sure I shut that when I came back from lunch", Went to open the door of
  2633.   the car and noticed the window had been smashed and my fucking new car
  2634.   cd player had ben nicked!  Not only did they nick my car CD player, but
  2635.   they nicked my new "Alannis Morissette" CD I bought YESTERDAY!  That was
  2636.   still in the cd player from lunchtime.  Argh!  Now it's started
  2637.   snowing (it had to snow the day my car has no fucking glass in the window
  2638.   of course, couldn't snow the next week could it, no, even the fucking
  2639.   weather has it in for me today), So it's fucking freezing and I've got
  2640.   to drive 8 miles home with no window, so I sat in my car freezing my nuts
  2641.   off all the way home.  After I get home, I turn my Pentium PC on to copy
  2642.   all the warez from my spare PC, and after a moment i notice that it's
  2643.   making a rather loud sound.  Fuck, the cables have just hit the fan that
  2644.   sits ontop of the pentium chip.  Fuck you INTEL,  why did you have to
  2645.   design such a shite processor!  Then I checked out my "Home Contents"
  2646.   insurance to check wether my car stereo comes under it, and NO, course
  2647.   it fucking doesn't.  FUCK.  Damn this stupid fucking country.  I couldn't
  2648.   afford "Fully Comprehensive" insurance earlier in the year because no
  2649.   insurance companies would do it as I'm 21, have a BMW 316 and haven't got
  2650.   any "No-Claims" bonus.  The fucking insurance cost nearly as much as the
  2651.   car did.  After all, the car was made in 1983 and I bought it for 750
  2652.   quid but the insurance still costs 500, third party only (not even fire
  2653.   and theft..)  CUNTS, I HATE LIFE IT, SUCKS,  WHY DO WE HAVE TO WORK FOR A
  2654.   LIVING, I JUST WANT TO SIT AT HOME PLAYING SATURN/PSX/NEO-GEO/3DO GAMES
  2655.   AND CODE ON MY AMIGA, WITH A BOTTLE OF MALIBU SITTING NEXT TO ME, WITH AN
  2656.   ENDLESS SUPPLY OF PC'S I CAN KICK THE SHIT OUT OFF FOR BEING SO DAMN CRAP.
  2657.   FUCKING COUNTRY.  FREEDOM, BOLLOX I SAY.
  2658.  
  2659.   Oh, and I've not done a fucking thing on HBBS today either.
  2660.  
  2661.  
  2662. 3-12-1995
  2663. =========
  2664.  
  2665.   Created the "Download" door
  2666.  
  2667.   modified transfer door to (temorarily) handle downloads
  2668.  
  2669.   Common/Structures.C
  2670.   -------------------
  2671.     modified Struct TaggedFile
  2672.     (removed ExplicitPath and added WarezFile)
  2673.  
  2674.   done more work on the mail scanner
  2675.  
  2676.   CliProtocol
  2677.   ===========
  2678.  
  2679.     Removed banner
  2680.  
  2681.   Control
  2682.   =======
  2683.  
  2684.     fixed bug in loading data from "HBBS:System/Protocols" file it was looking for
  2685.     "UNIDIRECTION" or "BIDIRECTION" but the data file had "UNIDIRECTIONAL" and
  2686.     "BIDIRECTIONAL"... (note the "AL" on the end!! whoops!)
  2687.  
  2688. 2-12-1995
  2689. =========
  2690.  
  2691.   done more work on the mail scanner
  2692.  
  2693. 1-12-1995
  2694. =========
  2695.  
  2696.  
  2697.   Oh shit, Time's running out,  it's that festive season again..
  2698.  
  2699.   Node
  2700.   ====
  2701.  
  2702.     Fixed bug with SetWatchTitles() that would still try and set the window
  2703.     and screen titles of the watch window even if it was closed.. (caused system
  2704.     crash)
  2705.  
  2706.     N_ND->ActiveDoor->SystemOptions is always allocated, this would have been
  2707.     a null pointer if an <door>_param_xx=<blah> was not specified, which
  2708.     caused problems for doors that do not check for a null pointer..
  2709.     It also makes the door coder's life easier (but not mine) as it's one
  2710.     less thing they have to worry about.
  2711.  
  2712.   Done loads more on the mailscan door this evening too..
  2713.  
  2714. 29-11-1995
  2715. ==========
  2716.  
  2717. Yeah! Another 2 months at macmillan.. Coooool. Loadsamoney..  No Erm, back to
  2718. life and hbbs and that kind of thing..
  2719.  
  2720.   !NewDoor/Main.C
  2721.   ===============
  2722.  
  2723.     set default stack size to 16k, this is because if you call many routines in
  2724.     the shared library (hbbscommon.library) you might run out of stack space
  2725.     causing spurious errors at random places due to memory corruption.
  2726.  
  2727.   All_Levels (access file)
  2728.   ========================
  2729.  
  2730.     Setup "C" and "EMAIL" doors to use the "write_mail" door (see below..)
  2731.     note the use of _Param_1=<blah>
  2732.  
  2733.   Mail  (note: as of today none of this works, I'm just laying the groundwork for it..)
  2734.   ====
  2735.  
  2736.     Created all the dirs for the mail sub-system.
  2737.  
  2738.     HBBS:Mail/Public
  2739.     HBBS:Mail/Users
  2740.     HBBS:Mail/Sysop
  2741.     HBBS:Mail/Groups
  2742.     HBBS:Mail/Groups/LSD         (for use with example setup, see BBSGroups in BBSGlobal)
  2743.  
  2744.     HBBS:Conferences/<confname>/Mail
  2745.  
  2746.     from the above you can see that there are a few places for mail to reside.
  2747.  
  2748.     each user will have a *private* mailbox, they have a directory in HBBS:Mail/Users
  2749.     the dir name is the same as the users ID (not handle)  e.g.  HBBS:Mail/Users/1
  2750.  
  2751.     the sysop has his own private mailbox (as well as a user mailbox) in which
  2752.     stuff like sysop comments are placed
  2753.  
  2754.     there is a public dir, any mail in here is scanned by all users everytime they
  2755.     login, this is where system ealls go
  2756.  
  2757.     each conference has it's own mail dir, this is where conference related mail goes
  2758.     it can be addressed to individual users or ealls, e.g. this is where you'd tell all
  2759.     your amiga users to download a new amiga release, rather than creating an eall
  2760.     in the public mailbox
  2761.  
  2762.     then you have group mail, a user can address a mail message to a particular group
  2763.  
  2764.     group mail works on a sort of bulletin board principle, a tag for each user having
  2765.     read a message is saved so they dont read it again.
  2766.  
  2767.     mail will have expiry dates! (yeah, ok, all you sysops fed up of asking users to
  2768.     delete thier mail can line up in a queue and thank me one at a time!)
  2769.  
  2770.   Write_Mail
  2771.   ==========
  2772.  
  2773.     Started writing this door now,  just creating some routines that will be
  2774.     put into hbbscommon.c at the moment,
  2775.  
  2776.     like things for checking a list of user handles passed to a function via a
  2777.     string, it then checks the usernames are valid, and passes them, as well as
  2778.     the id numbers, back to the user as well as a return value. (true, false)
  2779.  
  2780.     See HBBS:Source/User_Doors/Mail/Mail_Common.c for some interesting info
  2781.     on how mail messages are made..
  2782.  
  2783.  
  2784.  
  2785.  
  2786. 28-11-1995 (AM)
  2787. ===============
  2788.  
  2789.   Just got back from watching the new james bond film "Golden Eye", if you've not
  2790.   sen it yet then do so now!  It's cool... Total Blast Fest!
  2791.  
  2792.   Why do I do this ?  It's 01:36 am and I'm sitting here coding...  !?!
  2793.  
  2794.   Still, Sega Rally on my saturn is COOL, got it on saturday so spend most of
  2795.   saturday evening with 4 m8s playing it on it's split screen mode.  Gfx wise it's
  2796.   just as good (if not better) than ridge racer on my ps-x...
  2797.  
  2798.   Control
  2799.   =======
  2800.  
  2801.     Checking some enforcer hits caused by a missing conference directory.
  2802.     It turned out it was caused by the routine HBBS_DoErrorMessage() in
  2803.     HBBSCommon.library when it was passed a null pointer for the errormessage
  2804.  
  2805.   HBBSCommon.C
  2806.   ============
  2807.  
  2808.     Fixed enfocer hit in HBBS_DoErrorMessage()
  2809.  
  2810.   Node
  2811.   ====
  2812.  
  2813.     Calls "CheckUser" system door to check that the users account is ok.
  2814.  
  2815.     the users setting for language is not used.  .TXT is NOT automatically appended
  2816.     to a screen name.  If a user is not vaid (i.e. not logged in) then the first
  2817.     language defined in BBSGlobal will be used.
  2818.  
  2819.     See HBBS:BBSGlobal, LanguageExtn and LanguageName.  SelectLanguage Door,
  2820.     New User Door, CheckUser Door and Node_Input.c - DisplaySpecialScreen().
  2821.  
  2822.  
  2823.   CheckUser
  2824.   =========
  2825.  
  2826.     Door Created
  2827.  
  2828.     Checks all the users userdata is current and valid.  Can be used to
  2829.     check for stuff like sentbys.
  2830.  
  2831.     Currently only checks selected language and conference are valid.
  2832.  
  2833.   SelectLanguage
  2834.   ==============
  2835.  
  2836.     Displays a list of languages availiable to the user and lets them pick one
  2837.  
  2838.  
  2839. 23-11-1995 (PM) and 24-11-1995 (AM) Alpha Release 03
  2840. ====================================================
  2841.  
  2842.   Argh, It's 1:54 am and I need sleep...  I'm just about to lha this up now
  2843.   then I'm off to bed...  L8rz...
  2844.  
  2845.   Ok, the main things that have been done between this alpha version and
  2846.   the last one is the handling of uploads.  File ID's are now extracted and
  2847.   added to file lists..
  2848.  
  2849.   (p.s.  I've not included ZIP,UNZIP, LHA, TXTExtract, DMSDescript, GIFDesc
  2850.   or any other util used for handling archives or file ID's as you should
  2851.   already have these, I will however release them with the full version of HBBS)
  2852.  
  2853.   Oh, and I noticed that HBBS has been spread around many BBS's,  i don't want
  2854.   HBBS being spread in it's current form (i.e. unfinished),  I'm only releasing it
  2855.   like this to other possible sysop's and door coders..  It *may* be spread
  2856.   to all coders/sysop conferences however..  But not to general Amiga Warez
  2857.   conference... And woe-betide anyone who uploads it to Aminet!!
  2858.  
  2859.  
  2860.   Just so you know..  I've put some small files in HBBS:Nodes/Node3/PlayPen/T for
  2861.   you to test the uploads with.  copy them into the nodes playpen when HBBS tells
  2862.   you to copy files to the playpen
  2863.  
  2864.   Have fun now....
  2865.  
  2866.   Node
  2867.   ----
  2868.  
  2869.     Now Supports 2 new door types. these are:
  2870.  
  2871.     SCREEN  : just displays a text screen (pass the full file name as to _Door option)
  2872.     SSCREEN : displays a Special Screen (pass just the screen name with a path and
  2873.               without an extension as the _Door option..
  2874.  
  2875.  
  2876.     E.G. 1
  2877.  
  2878.     QS_Type_1=SSCREEN
  2879.     QS_Door_1=QuickStats
  2880.  
  2881.     typing QWS at the bbs prompt will force hbbs to look in the conference's
  2882.     screens/special dir for a file called "QuickStats.<LanguageExtn>"
  2883.     (e.g. QuickStats.TXT), if it's not there it'll look in the node's
  2884.     screens/special dir followed by hbbs:screens/special..
  2885.  
  2886.     E.G. 2
  2887.  
  2888.     QS_Type_1=SCREEN
  2889.     QS_Door_1=HBBS:Screens/Misc/QuickStats.TXT
  2890.  
  2891.     typing qs at the bbs prompt will force hbbs to display the file above..
  2892.  
  2893.   HBBSCommon.library
  2894.   ------------------
  2895.  
  2896.     HBBS_LoadConfig() does NOT call HBBS_LogError() when it can't open a config
  2897.     file anymore..  If you have optional config files then you get rather large
  2898.     ErrorLog files.   I might make it off-onable tho.. Let me know if you want it ?                  *I*
  2899.  
  2900.   AddCreds
  2901.   --------
  2902.  
  2903.     Door Created!  You should notice the stats going up a bit for uploaded files..
  2904.  
  2905.     Also...., Get this:  I've built in a little auto-award part to this
  2906.     door, check out the file HBBS:Doors/System/AddCreds/AddCreds.CFG
  2907.  
  2908.     basically you can get AddCreds to automatically add extra (or even remove)
  2909.     credits for a particular file or files.  As Always, Amiga Wildcards are supported
  2910.     so you can have:
  2911.  
  2912.      AwardFile_1=LSD#?
  2913.      AwardOpts_1=*3
  2914.  
  2915.     or
  2916.  
  2917.      AwardFile_2=PGS-ZD.LHA
  2918.      AwardFile_2=+2000000
  2919.  
  2920.     You get the jist... (it supports +,*,- and / options )
  2921.  
  2922.     Cool, isn't it ??
  2923.  
  2924.   MoveFile
  2925.   --------
  2926.  
  2927.     Created Door
  2928.  
  2929.     it basically moves a file from the playpen to a HOLD, BAD or UPLOAD dir.
  2930.  
  2931.     I wrote this at about 1:20am and I need some sleep now so I've not had change to
  2932.     test it much, although it appears to be working ok..  If it give you greif then
  2933.     remove the door from the "System" door list..
  2934.  
  2935.     It does however check for validated disks, free disk space and valid assigns,
  2936.     something that /X NEVER DID!! :-)  But hey, that's a suprise right! NOT!!!!
  2937.  
  2938.     If it cannot move a file then it'll attempt to put it in HBBS:LostFiles and
  2939.     will tell you so (also logs this in HBBS:ErrorLog)
  2940.  
  2941.  
  2942. 22-11-1995 (PM) and 23-11-1995 (AM)
  2943. ===================================
  2944.  
  2945.   CheckTags
  2946.   ---------
  2947.  
  2948.     Nothing changed, just a reminder that you can use all wildcards here..
  2949.  
  2950.     so #?.l??, *.ZIP or even ~(#?.LHA|#?.LZH)
  2951.  
  2952.     (the last example would clear all tags that did not end in .LHA or .LZH
  2953.     just if you didn't know what the ~, | or () things did.. :-)
  2954.  
  2955.     Amiga wildcards rule...
  2956.  
  2957.  
  2958.   Node & HBBSNode.library
  2959.   -----------------------
  2960.  
  2961.     The MaxLen option of HBBS_AdvancedGetLine() works ok now.. (yeah!!!)
  2962.     for an example, upload a file with no File_ID.DIZ, the ModifyDIZ door
  2963.     uses this function..
  2964.  
  2965.   File ID related doors
  2966.   ---------------------
  2967.  
  2968.     Updated bits and bobs here and there...
  2969.     looking much more like it now..
  2970.  
  2971.   System/FileID
  2972.   -------------
  2973.  
  2974.     There's now an option called Add_RenameDIZ_n=TRUE|FALSE option
  2975.     for each file type..
  2976.  
  2977.     I was thinking of making the lines in the file be the format
  2978.  
  2979.     n_OptionName=blah
  2980.  
  2981.     rather than
  2982.  
  2983.     OptionName_n=blah
  2984.  
  2985.     what do you think...
  2986.  
  2987.  
  2988. 20-11-1995 (PM) and 21-11-1995 (AM) :-)
  2989. =======================================
  2990.  
  2991.   HBBSCommon.C
  2992.   ------------
  2993.  
  2994.     Added HBBS_SaveFile(), it saves the ln_name items of a linked list to
  2995.     a text file.  Needs more error checking added to it.  For an example
  2996.     see "hbbs:source/doors_system/checkfiles/Main.c"
  2997.  
  2998.   FileList
  2999.   --------
  3000.  
  3001.     Changed output of ansi a bit
  3002.  
  3003.     recognises the P id.
  3004.  
  3005.   ExtractDIZ
  3006.   ----------
  3007.  
  3008.     Created work/<filename>.ADD as well as work/<filename>.DIZ now.
  3009.     the former is the file that gets stored in the archive as the file_id
  3010.     the latter is what is added to the file lists..
  3011.  
  3012.     (it ADDS file_id's as well as extracts them now..)
  3013.  
  3014.   AddDIZToList
  3015.   ------------
  3016.  
  3017.     This now works fine..
  3018.  
  3019.     I'll have to make it read the following files before it adds a diz..
  3020.  
  3021.     work/<filename>.DIZ
  3022.     work/<filename>.MISC
  3023.  
  3024.     stuff like sysop comments, sent by etc are stored in the .MISC file in the format
  3025.     of the file list.
  3026.  
  3027.  
  3028. 19-11-1995
  3029. ==========
  3030.  
  3031.   Just a reminder, if you want to test the upload door using something like Zmodem
  3032.   from your terminal program, then load it up, make sure you are using Node 3,
  3033.   set your terminal programs serial device to NullModem.device (instead of
  3034.   serial.device) and set the unit number to 7.  Then make sure node 3 is running the
  3035.   await connect door.  If so then just type ATD in your terminal program, press return
  3036.   and after a few seconds it should connect to the BBS! Whay..  Then log in as normal
  3037.   and just type out the "U" door...
  3038.  
  3039.   Distribution archives are now called HBBS-A??.L?? the first .LHA file is renames
  3040.   to .LHA to stop /X systems skipping it due to the archive being a multivolume
  3041.   archive.
  3042.  
  3043.   Common/Stuctures.c
  3044.   ------------------
  3045.  
  3046.     Added Various items to various structures, you *MUST* re-compile *all* of your
  3047.     programs that #include this file.
  3048.  
  3049.  
  3050.   Node
  3051.   ----
  3052.  
  3053.     When waiting for a call, Pressing F8 to switch between window/screen now
  3054.     causes the "await" (await connect) door to re-display the await.txt screen
  3055.  
  3056.     Added a MaxDIZLines to the node settings. (N_ND->NodeSettings.MaxDIZLines)
  3057.     N_ND->MaxDIZLines defaults to the above setting when the node is reset.
  3058.  
  3059.   JoinConference
  3060.   --------------
  3061.  
  3062.     Modified so that it copies N_ND->CurrentConf->MaxDIZLines to N_ND->MaxDIZLines
  3063.     when you join a new conference.
  3064.  
  3065.     Skips conferences that a user doesnot have access to when they use > or <
  3066.     at the prompt
  3067.  
  3068.     If they are a NEW user then the conferences that they do not have access to will
  3069.     notappear in the list
  3070.  
  3071.     If they are NOT a new user but don't have access to a particulat conference then
  3072.     that conference will show up in RED.
  3073.  
  3074.   CheckFiles
  3075.   ----------
  3076.  
  3077.     removed checking of sysop file and loading diz.
  3078.  
  3079.     moved LoadDIZ to a more generically usefull function called
  3080.     HBBS_LoadFile() and placed it in HBBSCommon.c
  3081.  
  3082.     changed references from Ask_UL to Conform_UL
  3083.  
  3084.   HBBSCommon.c
  3085.   ------------
  3086.  
  3087.     Added HBBS_LoadFile(),  loads a file into a linked list, one line of text
  3088.     for each node in the list.  free output with FreeStrList() get items with
  3089.     HBBS_ListName() etc..  Rather handy i thought...
  3090.  
  3091.   AskUl
  3092.   -----
  3093.  
  3094.     Renamed to ConfirmUL to avoid confusion between AskUL and AskULFiles (yet to be
  3095.     created)
  3096.  
  3097.  
  3098.  
  3099. 14-11-1995
  3100. ==========
  3101.  
  3102.   Released alpha version 02 onto digital candy this morning.
  3103.  
  3104.  
  3105.   FileList
  3106.   --------
  3107.  
  3108.     Sucessfully calls the "A" door to tag files
  3109.  
  3110. 12-11-1995 Alpha Release 02
  3111. ===========================
  3112.  
  3113.   Heheh, well, I didn't get my arcade machine yet, still waiting for it to arrive,
  3114.   but I did get a sega saturn last weekend, so most of this week has been spent
  3115.   playing on that and watching various films like Under Seige 2, Clueless and
  3116.   Apollo 13....  Sorry people!
  3117.  
  3118.   Oh well, atleast I got loads of work done on it this evening... it's 10:00pm now
  3119.   and I started at 5:00pm so I think I've been productive today..
  3120.  
  3121.   Tomorrow is cinema day (cheap day!) so I doubt I'll get much done then..
  3122.  
  3123.   The distribution of this (alpha) version if done by multi-volume LHA archives
  3124.   now, each file will be called HBBS-A<release>.L?? e.g.
  3125.  
  3126.   HBBS-A01.LHA
  3127.   HBBS-A01.L01
  3128.   HBBS-A01.L02
  3129.  
  3130.  
  3131.   Door coders should set their program's stack to 16384 (or thereabouts) if they
  3132.   are going to spawn other programs themselves (using HBBS_RunDOSCMD())
  3133.   to do this use LONG __stack=16384; somewhere just after your includes..
  3134.  
  3135.   AskUL
  3136.   -----
  3137.  
  3138.     Door Created, all working OK..
  3139.  
  3140.   Await Connect (Door)
  3141.   --------------------
  3142.  
  3143.     if Await.TXT is found in a screens dir then it does not display the list
  3144.     of function keys to you. (i.e. you're supposed to have them in the .txt
  3145.     file)   Created a nice little Await.TXT and stored it in HBBS/Screens/..
  3146.     Special/Ansi/Await.TXT
  3147.  
  3148.   Common/Strings.c
  3149.   ----------------
  3150.  
  3151.     added str_CSI_SF1-10 for shifted function keys
  3152.  
  3153.   System/FileID (Config File)
  3154.   ---------------------------
  3155.  
  3156.     changed @?@ codes to {?} codes (like the menu prompts use..)
  3157.     don't forget to use options like lha's -m for other diz extractors..
  3158.  
  3159.   ExtractDIZ (Door)
  3160.   -----------------
  3161.  
  3162.     Actually extracts the file id's now...
  3163.  
  3164.     *** Door not finished, until futher notice you must specify all options
  3165.     in the System/FileID file for each type of file to prevent errors
  3166.  
  3167.   Node
  3168.   ----
  3169.  
  3170.     You now have to press ShIFT+F10 to log a user off instead of just F10
  3171.     which is safer, no more accidental logoffs
  3172.  
  3173.     Runs a system door called Speed_<baudrate> after frontend.
  3174.     (still displays the screen too...)
  3175.  
  3176.     You can press F4 to re-display the await connect screen
  3177.  
  3178. 2-11-1995
  3179. =========
  3180.  
  3181.   Doh, I'm slipping, not been doing any coding for ages again,  it's this damn
  3182.   new playstation games that I've bought.. :-)  Too many games coming out
  3183.   on it now!
  3184.  
  3185.   Oh nooo!!  I just remembered, my new *arcade* machine is arriving next week
  3186.   complete with magic sword, gryzor, rygar and snow brothers P.C.B's..  That means
  3187.   at least a week of no more coding...
  3188.  
  3189.   ExtractDIZ
  3190.   ----------
  3191.  
  3192.   Did a bit more work on it..  It's getting there...
  3193.  
  3194. 24-10-1995
  3195. ==========
  3196.  
  3197.   ExtractDIZ
  3198.   ----------
  3199.  
  3200.   Created door, not finished in today's session..
  3201.   It will be a dual function door that will ADD and EXTRACT/UPDATE file id's from/to
  3202.   uploaded files...  you specify the mode using N_ND->ActiveDoor.SystemOptions
  3203.  
  3204.   AwaitConnect
  3205.   ------------
  3206.  
  3207.   Added F5, Toggle Modem Debug
  3208.  
  3209.  
  3210.   Who
  3211.   ---
  3212.   Changed ANSI
  3213.  
  3214.  
  3215.   Wall
  3216.   ----
  3217.   Changed ANSI
  3218.   Added a line of -'s to the top of the screen before the wall lines are printed
  3219.   only adds lines to the wall if the line is 4 chars or more
  3220.  
  3221.  
  3222.   CheckTags
  3223.   ---------
  3224.  
  3225.   Re-Wrote most of the CheckTags door.
  3226.   It's now LOADS smaller, and much more optimized
  3227.   It does not call the Add_Tags door once for each file the user wants to tag,
  3228.   instead it calls it once with all the files to tag as parameters
  3229.   Added help to it
  3230.   fixed all bugs with old version (due to re-write..)
  3231.   it now will ignore spaces before,between and after parameters.
  3232.   (other door writers should take note of how this is done, check out the source..)
  3233.  
  3234. 17-10-1995
  3235. ==========
  3236.  
  3237.   Created CheckFiles door, created CLIProtocol door uploading to the node's playpen
  3238.   now works!
  3239.  
  3240.   Modified the protocols a little bit (see struct ProtocolNode in structures.h)
  3241.  
  3242. 11-10-1995
  3243. ==========
  3244.  
  3245.   Control
  3246.   -------
  3247.  
  3248.     Removed enforcer hit when "control" closes.
  3249.  
  3250.   Node
  3251.   ----
  3252.  
  3253.     Node's now save their screenmode preferences to hbbs:system/data/nodex_private.cfg
  3254.  
  3255.     to save a node's window position and screenmode click the "Save Windows"
  3256.     button on the node's settings window.
  3257.  
  3258.     Removed enforcer hit after a node shuts down.
  3259.  
  3260.   NewUser
  3261.   -------
  3262.  
  3263.     NoNewAt_<BAUD>.TXT works
  3264.  
  3265.   HBBSNode
  3266.   --------
  3267.  
  3268.     Added DOOR_PausePrompt(char *prompt) to the library.
  3269.     it does the same as a @^PAUSE^@ command in a screen file...
  3270.  
  3271.  
  3272.   Ahh shit, not worked on hbbs for 2 weeks. At this rate it's never gonna
  3273.   get finished!
  3274.  
  3275. 25-09-1995
  3276. ==========
  3277.  
  3278. Wrote the Select_Mode utility (HBBS:Utils/Select_Mode)
  3279.  
  3280. Changed the "SetupAssigns" script.
  3281.  
  3282. The docs (BBSGlobal.Guide has not been updated yet!)
  3283.  
  3284. The current mail doors (MS, R, E and C at the bbs prompt) will be scrapped
  3285. as my (little) brother wrote them and they're shite and full of memory leaks!
  3286.  
  3287. Check out HBBS:Docs/Doors.TXT for full explanation of how each door works!
  3288. (note, I've just started working out how the new mail doors will work)
  3289.  
  3290.  
  3291.   Control
  3292.   -------
  3293.     Moved scr#? options from BBSGlobal to seperate file
  3294.  
  3295.     The Save Button on the Config window now works!
  3296.  
  3297.  
  3298.   Node
  3299.   ----
  3300.     The scr#? settings in NodeGlobal and NodeLocal still work, but they
  3301.     will also be moved to a seperate file soon!
  3302.  
  3303.     You can now have a door type CLI as well as NORMAL in the Command list
  3304.     files (HBBS:Commands/System), e.g.
  3305.  
  3306.       FrontEnd_Type_1=NORMAL
  3307.       FrontEnd_Door_1=HBBS:Doors/System/FrontEnd/FrontEnd.HBBS
  3308.       FrontEnd_Type_2=CLI
  3309.       FrontEnd_Door_2=HBBS:Scripts/CheckMem
  3310.  
  3311.       The "Checkmem" program above is a normal amigados program.
  3312.  
  3313.       note: the node number is still added to the programs arguments,
  3314.       as are the BBS Prompt commands!  (great for shells eh!!)
  3315.  
  3316.   CheckTags
  3317.   ---------
  3318.     you can go "A *" to clear all file tags at the BBS prompt
  3319.  
  3320.     added a few more printed messages
  3321.  
  3322.   HBBSCommon.library
  3323.   ------------------
  3324.  
  3325.     FreeStr() now actually sets the variable being freed to NULL regardless
  3326.     of a call to freevec()
  3327.  
  3328.